我今天带来了另一个让我头疼的问题,
我将DAO 3.6类型的库导入到我的delphi 7中,我开始看到许多有趣的界面,所以我面对有趣的问题。
每次类字段出现在另一个类的属性上时,它们都有正确的定义,我的意思是,他被定义为Fields,但在Index类中,在他描述其结构的所有字段参与者的部分中,属性字段不是字段,而是OleVariant。
查看TableDefs的不同之处,它具有Fields属性并与Index定义进行比较:
_TableDef = interface(_DAO)
...
property Fields: Fields read Get_Fields;
...
end;
_Index = interface(_DAO)
...
property Fields: OleVariant read Get_Fields write Set_Fields;
...
end;
问题是,有没有办法将类似OleVariant类型的Fields转换为在Fields接口类型上进行转换?
我非常感谢StackOverflow中的每一个帮助我
答案 0 :(得分:5)
如果我正确理解您的问题,您就会问如何将变体转换为IDispatch
。这样做:
IDispatch(V)
在您的情况下,我认为您有另一种类型,Fields
来自IDispatch
。你可以这样理解:
IDispatch(V) as Fields