Установка нескольких версий библиотеки в Delphi / C++Builder
Как я могу установить несколько версий библиотеки в Delphi или C++Builder? Например, я мог бы захотеть разработать следующую версию нашего приложения, используя текущие версии JCL и JVCL, и в то же время иметь возможность компилировать выпускную версию нашего приложения, используя любую версию JCL и JVCL, протестированную для этого выпуска.
Использование более чем одной версии библиотеки легко с такими библиотеками, как Boost, так как это просто заголовочные файлы и файлы библиотеки / DLL, которые я могу поместить в любое место, и поэтому я могу просто указать файлы своего проекта в соответствующих каталогах библиотеки. Однако, поскольку библиотеки, такие как JCL и JVCL, пытаются установить себя в IDE, я не уверен, как настроить разные проекты для использования разных версий, не превращая их в неуправляемый хак.
(Я до сих пор не совсем знаком с тем, как Delphi управляет компонентами и проектами - большая часть моего опыта в C++ - поэтому это может быть частью моей проблемы.)
1 ответ
У нас была та же проблема, поддержка старых версий, скомпилированных с разными версиями компонентов. Нашим решением было / является использование параметра командной строки "-r" в среде IDE. С помощью этого переключателя можно использовать разные пути к библиотекам и пакеты (одновременно). Единственная проблема, с которой мы столкнулись при таком подходе, заключалась в том, что некоторые из нас регулярно пытались открыть более старую версию проекта в неправильном экземпляре IDE.
[Old version 1.0] bds.exe -rVersion1.0
[trunk version ] bds.exe
Как настроить те:
- Начните IDE, как вы привыкли к нему.
- Установите все, что вам нужно для "версии 1.0"
- Закройте IDE
- Установить все (старые) пакеты (JCL/JVCL/...)
- Запустите regedit.exe
- Экспортируйте раздел реестра HKCU\Software\CodeGear\BDS\5.0 в файл *.reg
- Запустите nodepad.exe, выполните поиск и замену в файле *.reg для "CodeGear\BDS\5.0" и замените его на "CodeGear\Version1.0\5.0".
- Импортируйте файл *.reg (дважды щелкнув его в проводнике Windows)
- Создайте копию ссылки на стартовое меню RAD Studio 2007 и измените командную строку, указав ключ "-rVersion1.0".
Теперь у вас есть две одинаковые конфигурации IDE. Теперь вы можете изменить IDE, которая не использует опцию "-r", на пакеты вашей версии транка. При установке всех пакетов вы не должны использовать каталоги BPL и DCP по умолчанию, если в разных версиях пакетов не используются разные имена файлов (как это делают JCL и JVCL).
CodeGear\BDS\5.0 = Delphi 2007
CodeGear\BDS\6.0 = Delphi 2009
Borland\BDS\4.0 = Delphi 2006
Borland\Delphi\7.0 = Delphi 7