DesignIntf ​​не найден в bpi, но работает с dcp - PullRequest
0 голосов
/ 22 марта 2019

В Rad Studio Rio я создаю пакет для Delphi.В блоке PAS добавляю:

  uses DesignIntf;

Компилятор жалуется на «DesignIntf ​​not found».Добавление DesignIntf.dcp в качестве ссылки решает проблему.

Теперь, если я создаю тот же пакет, но из C ++ Builder, я добавляю «использует DesignIntf;»в блоке PAS, если я добавлю DesignIntf.bpi в качестве ссылки, ошибка не будет исправлена.

Почему в Delphi DesignIntf.dcp решает проблему, а DesignInt.bpi не решает ее для C ++ Builder с точно таким же кодом?

ОБНОВЛЕНИЕ;

Это платформа win32.На следующем рисунке показано, как на ссылку на designintf.bpi ссылаются, но я продолжаю получать сообщение об ошибке.Он работает, как и ожидалось, если пакет предназначен для Delphi и использует designintf.dcp.

enter image description here

Ответы [ 2 ]

1 голос
/ 25 марта 2019

Наконец я решил это. Я пропустил добавление -LUDesignIDE под опциями компилятора Delphi. Объясняется на http://docwiki.embarcadero.com/RADStudio/Rio/en/Compiling_C%2B%2B_Design-Time_Packages_That_Contain_Delphi_Source

Причина в том, что я смешиваю код Delphi и C ++.

1 голос
/ 25 марта 2019

И в Delphi, и в C ++ вашему пакету времени разработки требуется ссылка на пакет DesignIDE, чтобы использовать модуль DesignIntf.

Пожалуйста, прочтите документацию Embarcadero:

Компиляция пакетов C ++ Design-Time, содержащих исходный код Delphi

Создание или расширение пакета для использования API инструментов

...