0

我们有一个导出属性的 32 位 C++ OCX:

LPITEMIDLIST CMyClass::GetCurrentPIDL()

在 32 位二进制中,LPITEMIDLIST当然是 32 位指针。

32 位 C++ 客户端应用程序#import用于导入 OCX。生成的 .TLH 文件包含以下内容:

__declspec(property(get=GetCurrentPIDL,put=PutCurrentPIDL))
__int64 CurrentPIDL;

客户端无法在没有类型转换的情况下访问该属性,因为编译器抱怨它无法将 an 转换__int64LPITEMIDLIST.

一切正常,但我仍然想知道为什么 OCX 将属性导出__int64LPITEMIDLIST. 看来我不应该投它。

我在 OCX 代码中做错了什么,还是就是这样?

TIA

4

0 回答 0