我们有一个导出属性的32位C ++ OCX:
LPITEMIDLIST CMyClass::GetCurrentPIDL()
在32位二进制文件中,LPITEMIDLIST
当然是32位指针。
32位C ++客户端应用程序。#import
用于导入OCX。生成的.TLH文件包含:
__declspec(property(get=GetCurrentPIDL,put=PutCurrentPIDL))
__int64 CurrentPIDL;
客户端无法在没有类型转换的情况下访问该属性,因为编译器抱怨它无法将__int64
转换为LPITEMIDLIST
。
一切正常,但我仍然想知道为什么OCX将该属性导出为__int64
而不是LPITEMIDLIST
。我似乎不应该施展它。
我在OCX代码中做错了什么,或者这就是它的方式?
TIA