Установка тех же компонентов под Delphi 2009 и Delphi XE не работает - PullRequest
1 голос
/ 19 июля 2011

У меня есть набор пользовательских компонентов, которые я использовал в D2009.Я установил Delphi XE, и я хотел бы иметь возможность использовать эти компоненты в обеих IDE, пока я обновляю свои проекты.Но когда я устанавливаю их в XE, они больше не используются в D2009.Проект по-прежнему будет компилироваться, но компоненты больше не отображаются в палитре инструментов и не отображаются в конструкторе форм.

Независимо от того, как я пытаюсь удалить / переустановить и т. Д., Яне могу заставить компоненты работать в D2009.Я проверил, что обе IDE имеют каталог компонента в своем пути к библиотеке.

Что мне нужно сделать здесь, чтобы компоненты работали в обеих IDE?

Спасибо!

1 Ответ

10 голосов
/ 19 июля 2011

Различные версии Delphi создают разные наборы пакетов (файлы * .bpl) по разным путям («каталог вывода пакета»). Пакеты дизайна должны быть загружены в среде IDE. Теперь путь поиска Windows, вероятно, вступает в игру; когда D2009 хочет загрузить пакет x.bpl, он преобразуется в его (несовместимую) версию XE, потому что выходной каталог пакета XE находится в пути поиска системы до D2009 - это происходит, если вы сначала установили D2009, а затем XE (рекомендуется).

Решение состоит в том, чтобы всегда использовать Library Suffix для ваших пакетов. Я предлагаю вам следовать собственному соглашению Delphi и использовать 120 для пакетов D2009 и 150 для пакетов XE. Ваш x.bpl становится x120.bpl для D2009 и x150.bpl для XE.

...