Вывод tlibimp.exe отличается на разных ОС - PullRequest
0 голосов
/ 26 июля 2011

Я пытаюсь импортировать стороннюю библиотеку типов .NET (DLL-библиотека COM-сервера) с помощью tlibimp.exe (версия 11.0). Это в основном работает нормально, но результаты отличаются, когда я запускаю его на разных компьютерах, один из которых работает под управлением Windows XP, а другой - Windows 7. Что еще хуже, код, сгенерированный на машине с Win7, не компилируется.

Обе машины имеют:

  • Borland C ++ (RAD Studio) 2007
  • tlibimp.exe версия 11.0
  • установлены те же версии .NET Framework (насколько я могу судить, Borland 2007 использует .NET v2)
  • bcc32.exe версия 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 };

Теперь я не совсем уверен, откуда эта разница. Есть идеи?

веселит Хендрик

1 Ответ

0 голосов
/ 10 декабря 2012

Это может или не может помочь, но у меня была похожая проблема при попытке импортировать две библиотеки типов в Delphi, из сборок c sharp.

Одна библиотека типов (A) унаследована от TOLeServer, другая (B) от TOleControl, и я не мог понять почему, поскольку обе сборки, которые генерировали библиотеки типов, были практически идентичны.

* 1004проблема оказалась в том, что B был зарегистрирован с регазмом, а A - нет.Регистрация A и повторная генерация библиотеки типов решили проблему.
...