2010-03-15 2 views
9

Где вы, парни, торгуете сторонними (и вашими) компонентами?Путь для библиотек Delphi

Вы сохраняете отдельные копии на версию Delphi?

В течение многих лет я использую c:\program files\borland\delphi7\lib\, даже для Delphi 2006, 2007, 2009 и 2010, как это:

c:\program files\borland\delphi7\lib\AggPas\ 
c:\program files\borland\delphi7\lib\DeHL\ 
c:\program files\borland\delphi7\lib\DevExpress\ 
c:\program files\borland\delphi7\lib\FastCode\ 
c:\program files\borland\delphi7\lib\FastMM\ 
c:\program files\borland\delphi7\lib\Fundamentals\ 
c:\program files\borland\delphi7\lib\Graphics32\ 
c:\program files\borland\delphi7\lib\JCL\ 
c:\program files\borland\delphi7\lib\JVCL\ 
c:\program files\borland\delphi7\lib\OmniThread\ 
c:\program files\borland\delphi7\lib\Raize\ 
c:\program files\borland\delphi7\lib\TeeChartPro\ 
c:\program files\borland\delphi7\lib\TurboPower\ 
c:\program files\borland\delphi7\lib\VirtualTreeView\ 
c:\program files\borland\delphi7\lib\Zeos\ 

Однако, в настоящее время я даже не использовать Delphi7 больше (что она может сделать что 2010 не может?), поэтому этот путь больше не имеет смысла. Я собираюсь установить windows7 на моей домашней машине, так что я думаю о чем-то вроде этого:

c:\src\DelphiLib\

Все лучшие идеи?

+0

Скомпилировать 16-битные исполняемые файлы? Не то, чтобы кому-то нужно это делать больше, заметьте ... –

+3

Где ссылки на 16-битные исполняемые файлы? – 2010-03-15 08:56:37

+1

>> Я даже не использую Delphi7 больше (что он может сделать, что 2010 не может?) Ответ - Удаленная отладка. –

ответ

2

У меня есть каталог, где я делаю все свои проверки. Компоненты (версии) - это еще одна проверка (**).

mysvndir\components       (D7 components) 
mysvndir\components2006      (D2006 components) 
mysvndir\components2009      (D2009 components) 
mysvndir\trunk        (trunk of framework) 
mysvndir\flex        (check out of flex project that 
               is in a branch) 

Проекты delphi все установлены с относительными путями. Пути компонентов жестко закодированы в delphi в параметрах-> среде.

mysvndir может быть на разных дисках (или на уровне каталогов) в зависимости от рабочей станции. (самое главное, на моем ноутбуке это на D :). Возможность компиляции альтернативных проверок (например, для проверки старой версии) является еще одной сильной мотивацией, чтобы сохранить все относительное.

Это нормально работает (*) для обычных проектов Delphi, но теперь я рассматриваю возможность использования жестко заданных путей (или замены) для некоторых проектов. В основном из-за начала использования ITE.

(*) Delphi (все версии), по-видимому, иногда меняют рабочий каталог при открытии файлов, что, в свою очередь, вызывает относительные пути (они относятся к рабочему каталогу, а не к .dpr (oj)). Если я заметил это, я открою файл (используя файл-> Открыть) в рабочем каталоге, и все будет хорошо. У меня также есть привычка закрывать проекты, прежде чем открывать новые.

(**) У меня есть базовый набор компонентов дизайна, которые я использую для всех приложений и не использую пакеты. У меня нет компонентов времени разработки, специфичных для приложений.

+1

Фактически в конец Я забыл о ITE и использовал dxgettext –

1

Всей моя Delphi вещи в подкаталогах C: \ Delphi

0

Я всегда использовал папку в корневом каталоге, такие как D: \ DelphiComponents с версиями (если это необходимо), организованного в рамках каждой отдельной подпапки.

Например, d: \ DelphiComponents \ MMTools имеют папку Delphi6 и Delphi7. Поскольку в этих папках у меня есть довольно старые библиотеки, я избегаю использования пробелов в именах папок.

1

Мои библиотеки конкретного проекта и хранятся в подкаталогах LIBS из источников:

/src/project1/libs/library1 
        library2 
       src/<source files of project1> 
/src/project2/libs/library1 
        library2 
       src/<source files of project2> 

Эти библиотеки не добавляются в путь к библиотеке Delphi, а путь поиска projecet, поэтому я конечно, я использую правильную версию библиотеки для каждого проекта. (Это, конечно, только для поддержки старых версий проекта, текущие проекты обновляются до последних версий библиотеки).

Библиотеки хранятся в подрывной деятельности и связаны с проектами как svn: externals.

К сожалению, Delphi не поддерживает загрузку пакетов на проект, поэтому я застрял в загрузке и разгрузке пакетов по мере необходимости или - что я делаю большую часть времени - просто используйте те же пакеты времени разработки в идее и полагайтесь на них, чтобы изменить только незначительно между версиями, поэтому это не имеет значения, если я использую правильные источники при создании проекта.

+0

Я использую точно такую ​​же схему и также страдаю от обработки пакетов Delphi. Хотя я попытался пролить свет на причины моего ответа на этот вопрос: http://stackoverflow.com/questions/2296439/how-to-specify-project-specific-package-settings/2297075#2297075 –

1

Хранение библиотек в файлах программы вызовет много проблем при использовании Vista и более поздних версий. С этими ОС гораздо лучше использовать отдельный каталог вне тех, которые содержат исполняемые файлы. Но оставьте Delphi на защищенном пути или установите соответствующие ACL, если вы установите его в другом месте. Помните, что Windows не защищена, потому что большинство пользователей делают это так. Вы также можете установить переменную окружения для указания пути к библиотеке, а затем использовать ее с синтаксисом $() в пулах библиотек Delphi. Например, если вы используете C: \ dev \ lib \ delphi, вы можете указать там указатель DLIB, а затем использовать путь $ (DLIB) \ JCL в пути к библиотеке. Это также позволяет переключаться между библиотеками, просто устанавливая необходимую переменную среды перед запуском Delphi. Если библиотеки и каталоги правильно разработаны, нет необходимости хранить разные копии для разных версий Delphi, они будут создавать вложенные папки для каждой версии, но многие из них не нужны и могут нуждаться в отдельных копиях.

1

Если я устанавливаю готовую к использованию библиотеку - я устанавливаю ее в папку Delphi в Program Files (точная папка не важна - это может быть lib или source).

Это имеет большое преимущество для меня (другие люди думают об этом как о недостатке): на Vista и Win7 UAC не позволит вам связываться с установленными библиотечными файлами так же, как и для самого Delphi. У вас есть pas-файлы, у вас есть файлы dcu, bpl и т. Д. - отлично. Просто используйте их. Не нужно перекомпилировать или изменить его.

Если, однако, я устанавливаю библиотеку, которую планирую изменить - я устанавливаю ее в папку «Мои документы»/RAD Studio, поэтому она не защищена от записи, и я могу с ней справиться.

+0

Мне нравится иметь их все в подпапках c: \ Packages (или так). – Ampere

-1

Я думаю, что использование подпапок в корневом каталоге (например, c: \ src или c: \ Delphi) не является хорошей идеей по соображениям безопасности. Это похоже на привет от старых дней, когда вы действительно не используете безопасность или правильную структуру папок.

Вы хотите папку для записи? У вас есть мои документы. И есть даже вложенная папка RAD Studio. Не нравится MyDocs? У вас есть AppData.

Вы хотите защитить папку? Есть все пользователи или файлы программы.

Смежные вопросы