我正在尝试从源代码安装 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 需要什么单位?

最佳答案

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

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

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

关于Delphi XE2 找不到 ComObj.dcu 到哪里去了?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8476322/

10-11 16:52