tlibimp.exe的输出在不同的操作系统上是不同的

tlibimp.exe output differs on different OSes

本文关键字:操作系统 是不同 exe 输出 tlibimp      更新时间:2023-10-16

我正在尝试使用tlibimp.exe(版本11.0)导入第三方。net类型库(COM服务器DLL)。这基本上可以正常工作,但当我在不同的电脑上运行它时,结果就不同了,一台运行Windows XP,另一台运行Windows 7。更糟糕的是,在Win7机器上生成的代码无法编译。

两个机器都有:

    Borland c++ (RAD Studio) 2007
  • tlibimp.exe version 11.0
  • 相同的。net框架版本安装(据我所知,Borland 2007使用。net v2)
  • bcc32.exe version 5.93

编译器在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 };

现在我不太确定这种差异来自哪里。什么好主意吗?

干杯•

这可能有帮助,也可能没有帮助,但我有一个类似的问题,试图从c sharp程序集导入两个类型库到delphi。

一个类型库(A)继承自TOLeServer,另一个(B)继承自TOleControl,我不明白为什么,因为生成类型库的两个程序集实际上是相同的。

问题原来是B已经注册了regasm,而A没有。注册A并重新生成类型库解决了这个问题。

相关文章: