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

Delphi XE2找不到ComObj.dcu它去了哪里?,delphi,com,delphi-xe2,Delphi,Com,Delphi Xe2,我正在尝试从源代码安装jvcl,但在中遇到错误 机组JV解释仪第1267行 uses TypInfo, {$IFDEF JvInterpreter_OLEAUTO} OleConst, ActiveX, ComObj, 因此,我从uses中删除了ComObj,并继续等待错误: 关于EOLEError有一个错误,这是OleAuto的一部分,我添加了这个错误,希望是最好的,但是 我在这行上得到一个错误#1799: 所以问题是:ComObj发生了什么?XE2中的DispatchInv

我正在尝试从源代码安装jvcl,但在中遇到错误 机组JV解释仪第1267行

uses
  TypInfo,
  {$IFDEF JvInterpreter_OLEAUTO}
  OleConst, ActiveX, ComObj,  
因此,我从uses中删除了
ComObj
,并继续等待错误:

关于
EOLEError
有一个错误,这是OleAuto的一部分,我添加了这个错误,希望是最好的,但是

我在这行上得到一个错误#1799:


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

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

uses
  TypInfo,
  {$IFDEF JvInterpreter_OLEAUTO}
  OleConst, ActiveX, 
  {$IFDEF VER230} system.win.ComObj, {$ELSE} ComObj, {$ENDIF}  
现在它编译时没有错误。
请参阅:

对于编译器定义列表。

只需添加system.win,即使用system.win.comobj代替comobj

或者,您可以将“system.win”添加到项目的可用单元作用域名称列表中,然后您根本不必更改原始代码。
uses
  TypInfo,
  {$IFDEF JvInterpreter_OLEAUTO}
  OleConst, ActiveX, 
  {$IFDEF VER230} system.win.ComObj, {$ELSE} ComObj, {$ENDIF}