Что является различием между функциями VarIsEmpty и VarIsEmptyParam

Работая в Delphi7 сейчас, я заметил это не только a VarIsEmpty функция существует, но также и a VarIsEmptyParam.

Так как справка Delphi не дает много объяснения:

VarIsEmptyParam возвращает true, если данный вариант представляет неназначенный дополнительный параметр.

Если вариант содержит какое-либо другое значение, функциональным результатом является ложь.

Я просто задавался вопросом, использовал ли кто-либо эту функцию, и если так, как эта функция предназначена, чтобы использоваться.

7
задан Edelcom 8 March 2010 в 13:09
поделиться

1 ответ

В COM можно иметь необязательные параметры при вызове метода в любой позиции, в то время как в Delphi это возможно только в конце. Поэтому, если вы хотите опустить параметр, вы можете вместо него написать EmptyParam . EmptyParam - глобальная переменная, инициализированная правильными значениями.

Теперь, когда вы реализуете COM-интерфейс, вам также нужно иметь дело с этими необязательными параметрами. Способ узнать эти пропущенные параметры - VarIsEmptyParam .

Обратите внимание, что даже пустой вариант, указанный в качестве параметра, дает VarIsEmptyParam = false, потому что параметр не пропущен. Он просто пустой, но он есть.

Обычно это:

VarIsEmpty(v) ==> not VarIsEmptyParam(v)

и

VarIsEmptyParam(v) ==> not VarIsEmpty(v)
8
ответ дан 7 December 2019 в 05:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: