刚才在Delphi7工作,我注意到不仅存在VarIsEmpty
函数,还存在VarIsEmptyParam
。
由于德尔福的帮助没有给出太多解释:
如果给定的变量表示未分配,则VarIsEmptyParam返回true 可选参数。
如果变体包含任何其他值,则函数结果为false。
我只是想知道是否有人使用过这个功能,如果有的话,这个功能是如何使用的。
答案 0 :(得分:8)
在COM中,可以在任何位置的方法调用中使用可选参数,而在Delphi中,这只能在结束时使用。因此,如果您想省略参数,可以改为编写EmptyParam
。 EmptyParam
是使用正确值初始化的全局变量。
现在,当您实现COM接口时,您也必须处理这些可选参数。找出这些省略的参数的方法是VarIsEmptyParam
。
请注意,即使作为参数给出的空变量也会产生VarIsEmptyParam = false,因为不会省略param。它只是空的,但它就在那里。
通常有:
VarIsEmpty(v) ==> not VarIsEmptyParam(v)
和
VarIsEmptyParam(v) ==> not VarIsEmpty(v)