使用TInvokeableVariantType创建动态过程

时间:2014-08-17 00:50:49

标签: delphi

使用TInvokeableVariantType可以使用动态方法创建自定义变体类型:

var
    somevariant: Variant;

somevariant.Method();

但是可以自己调用变量变量吗? Delphi 2007编译器甚至不编译它:

var
    somevariant: Variant;

somevariant();

我对此并不感到惊讶,但我只是想确保我没有遗漏任何东西,并且在Delphi或FPC中创建动态过程而不需要将其作为变体方法调用它是不可能的?

1 个答案:

答案 0 :(得分:2)

Variant本身不是可调用的数据类型。它是一个可以调用的数据容器(COM对象或TInvokeableVariantType对象),因此您必须使用Variant运算符取消引用.来访问数据并告诉编译器您可以调用哪些操作想要对数据进行处理。