作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
今天我带来了另一个让我头疼的问题,
我确实将一个 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;
最佳答案
如果我正确理解您的问题,您是在问如何将变体转换为 IDispatch
.这样做:
IDispatch(V)
Fields
源自
IDispatch
.你可以像这样捕获它:
IDispatch(V) as Fields
关于delphi - 如何将 OleVariant 转换为派生的 IDispatch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16111060/
我是一名优秀的程序员,十分优秀!