| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Установка компонетов индивидуально для одного прое |
| Автор: ilyalyu 19.9.2010, 23:39 |
| Вопрос такой. При разработке двух приложений используется один и тот же пакет компонентов. При работе над первым проектом потребовалось подправить исходники некоторых компонентов. Естественно, хочется, чтобы изменения, сделанные при работе над первым проектом, никак не влияли на второй проект. То есть хочется установить две копии одного и того же пакета: для первого проекта - исправленный вариант, для второго проекта - исходный вариант. Вопрос - как это сделать? Пока что при переключении с одного проекта на другой приходится удалять один вариант пакета и устанавливать вместо него другой. И так каждый раз. |
| Автор: Proxin 20.9.2010, 01:06 |
| самый простой вариант - написать наследников для каждого проекта. |
| Автор: kami 20.9.2010, 07:09 |
| Можно использовать директивы условной компиляции, правда придется для каждого проекта делать вместо Compile - Build (что далеко не всегда удобно при каждой необходимости пересобрать экзешник + нужно, чтобы в SearchPath был прописан путь к "изменяемым" исходникам) Например: в правленном модуле {$IFDEF myChanges} // правленный код {$ELSE} // исходный код {$ENDIF} Для проекта, в котором нужен правленный код, в меню Project>Options>Directories, Conditionals>Conditional defines прописать myChanges. P.S. А автор изменяемых исходников не против этого? |
| Автор: Snowy 20.9.2010, 08:59 |
| Положить копию компонентов в папку с проектом и править эту копию. Тогда исправленный вариант будет действовать только на этот проект. При компиляции будет использована эта копия, т.к. приоритет в поиске файлов у локальной папки выше, чем у библиотечной. |
| Автор: ilyalyu 20.9.2010, 10:59 | ||||
Это, конечно, самый последовательный метод, но отнюдь не самый простой. Изменить пару строчек в готовом компоненте гораздо быстрее.
Этот вариант частично решает проблему. Но если в исправленом компоненте добавлены published properties, то его нужно установить. Тогда предложеный способ не поможет. Пока придумал такой вариант: создавать для каждого проекта свою учетную запись Windows либо работать из под виртуальной машины. Тогда можно будет и индивидуальный Library path прописать и нужную версию компонент установить. Конечно, способ кривоват. |
| Автор: northener 24.9.2010, 00:38 |
| Я за Build вместо Compile не так уж и страшен. А вот написание на каждый чих наследников или более того плодить учетные записи - это уже перебор. |
| Автор: cat512 24.9.2010, 12:34 | ||
+1 Они как раз для подобных вещей и предназначены! |