Delphi XE2找不到ComObj.dcu去哪了?

时间:2011-12-12 15:03:59

标签: delphi com delphi-xe2

我正在尝试从源代码安装jvcl,但是我收到了错误 单位JvInterpreter的第1267行;

uses
  TypInfo,
  {$IFDEF JvInterpreter_OLEAUTO}
  OleConst, ActiveX, ComObj,  

所以我从使用中删除了ComObj并等待更远的错误:

关于EOLEError有一个错误,这是OleAuto的一部分,我补充说并希望最好,但....

我在这行#1799上收到错误:

DispatchInvoke(IDispatch(Dispatch), CallDesc, PDispIDList(@DispIDs[0]), ParamTypes, Result);

所以问题是:ComObj发生了什么,XE2中DispatchInvoke需要哪个单位?

2 个答案:

答案 0 :(得分:2)

解决方案是更改uses以使用完全限定名称:

uses
  TypInfo,
  {$IFDEF JvInterpreter_OLEAUTO}
  OleConst, ActiveX, 
  {$IFDEF VER230} system.win.ComObj, {$ELSE} ComObj, {$ENDIF}  

现在编译没有错误。
见:What is the compiler version for Delphi 2010?
有关编译器定义的列表。

答案 1 :(得分:2)

只需添加system.win即使用system.win.comobj

而不是comobj