gpt4 book ai didi

delphi - 如何将 OleVariant 转换为派生的 IDispatch?

转载 作者:行者123 更新时间:2023-12-03 19:09:27 25 4
gpt4 key购买 nike

今天我带来了另一个让我头疼的问题,

我确实将一个 DAO 3.6 类型库导入到我的 delphi 7 中,并且我开始看到许多有趣的接口(interface),所以我面临着一个有趣的问题。

每次Fields类出现在另一个类的属性上时,它们都有正确的定义,我的意思是,他被定义为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 类型的字段转换为字段接口(interface)类型?

我非常感谢 StackOverflow 的所有帮助

最佳答案

如果我正确理解您的问题,您是在问如何将变体转换为 IDispatch .这样做:

IDispatch(V)

在你的情况下,我认为你有另一种类型, Fields源自 IDispatch .你可以像这样捕获它:
IDispatch(V) as Fields

关于delphi - 如何将 OleVariant 转换为派生的 IDispatch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16111060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com