Delphi XE2 не может найти ComObj.dcu, куда он делся? - PullRequest
3 голосов
/ 12 декабря 2011

Я пытаюсь установить jvcl из исходного кода, но получаю сообщение об ошибке в строке # 1267 модуля JvInterpreter;

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

Поэтому я удалил ComObj из использования и ждалошибка в дальнейшем:

Есть ошибка, касающаяся EOLEError, которая является частью OleAuto. Я добавил это и надеялся на лучшее, но ....

Я получаю ошибкув этой строке # 1799:

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

Итак, вопрос в том, что случилось с ComObj и какую единицу нужно для DispatchInvoke в XE2?

Ответы [ 2 ]

2 голосов
/ 19 октября 2013

Просто добавьте system.win, т.е. вместо comobj используйте system.win.comobj

2 голосов
/ 12 декабря 2011

Решение состоит в том, чтобы изменить uses на использование полного имени:

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

Теперь оно компилируется без ошибок.
См .: Какая версия компилятора для Delphi 2010?
Для списка определений компилятора.

...