我正在尝试使用tlibimp.exe(版本11.0)导入第三方.NET类型库(COM服务器DLL)。这基本上工作正常,但是当我在不同的计算机上运行它时结果不同,一台运行Windows XP,另一台运行Windows 7.更糟糕的是,Win7机器上生成的代码无法编译。
两台机器都有:
编译器在OCX.h中失败:
Parameter mismatch in write access specifier of property Font
XP机器上的相关代码行(编译好)是:
__property Graphics::TFont * Font={ read=GetTFontProp, write=_SetTFontProp, stored=false, index=-512 };
Win7机器上的同一行(失败)是:
__property IFontDisp* Font={ read=get_Font, write=set_Font, stored=false };
现在我不确定这种差异来自哪里。有什么想法吗?
欢呼声 亨德里克
答案 0 :(得分:0)
这可能有所帮助,但是我有一个类似的问题,试图将两个类型库导入delphi,来自c sharp程序集。
一个类型库(A)继承自TOLeServer,另一个(B)来自TOleControl,我看不清楚原因,因为生成类型库的两个程序集几乎完全相同。
问题原来是B已经注册了regasm而A没有注册。注册A并重新生成类型库解决了这个问题。