Работая в Delphi7 сейчас, я заметил это не только a VarIsEmpty
функция существует, но также и a VarIsEmptyParam
.
Так как справка Delphi не дает много объяснения:
VarIsEmptyParam возвращает true, если данный вариант представляет неназначенный дополнительный параметр.
Если вариант содержит какое-либо другое значение, функциональным результатом является ложь.
Я просто задавался вопросом, использовал ли кто-либо эту функцию, и если так, как эта функция предназначена, чтобы использоваться.
В COM можно иметь необязательные параметры при вызове метода в любой позиции, в то время как в Delphi это возможно только в конце. Поэтому, если вы хотите опустить параметр, вы можете вместо него написать EmptyParam
. EmptyParam
- глобальная переменная, инициализированная правильными значениями.
Теперь, когда вы реализуете COM-интерфейс, вам также нужно иметь дело с этими необязательными параметрами. Способ узнать эти пропущенные параметры - VarIsEmptyParam
.
Обратите внимание, что даже пустой вариант, указанный в качестве параметра, дает VarIsEmptyParam = false, потому что параметр не пропущен. Он просто пустой, но он есть.
Обычно это:
VarIsEmpty(v) ==> not VarIsEmptyParam(v)
и
VarIsEmptyParam(v) ==> not VarIsEmpty(v)