Установка ActiveX в Delphi 7.0 - PullRequest
       10

Установка ActiveX в Delphi 7.0

0 голосов
/ 22 января 2012

Я использую компонент ActiveX в своих проектах. Я могу добавить этот компонент в Visual Studio 2010, 2008, Delphi XE2, Visual Basic 6.0, но не могу импортировать его в Delphi версий 5, 6 или 7.

Это файл activex на моем ftp-сервере: Active X File

1 Ответ

3 голосов
/ 23 января 2012

ОК, я был достаточно смел, чтобы загрузить и зарегистрировать этот OCX и попытаться повторить то, что вы сделали.И да, я обнаружил то же поведение, о котором вы сообщали.

Итак, я посмотрел на импортированный модуль библиотеки типов в XE2.Помните, что в XE2 компонент появляется в палитре.Внизу блока находится этот код:

procedure Register;
begin
  RegisterComponents(dtlOcxPage, [TTAK_Control]);
end;

Этот код регистрирует компонент в палитре, и он отсутствует, когда OCX импортируется в Delphi 6, единственную старую версию Delphi, которую я должен передать.Действительно, весь компонент TTAK_Control отсутствует в единице импорта.Иногда процесс импорта завершается неудачей.

Поэтому я просто взял импортированный файл библиотеки типов из XE2 и скопировал его поверх эквивалентной единицы в D6.Это единица с именем TAK_ControlBoard_TLB.Когда я компилировал в D6, была ошибка компилятора, потому что UIntPtr не был распознан.Замените это на Cardinal в D6.В этот момент компиляция завершается успешно, и компонент появляется в палитре.

Теперь, когда я пытаюсь добавить его в форму, возникает ошибка OLE, но я не могу с этим ничего поделать, так как ничего не знаюо компоненте.Обратите внимание, что эта ошибка возникает как в XE2, так и в D6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...