Настройка среды Delphi для разработки пакетов / компонентов - PullRequest
3 голосов
/ 30 июля 2010

Прочитав несколько списков рассылки и bbs, я не смог найти правильный способ настройки среды разработки для разработки пакетов и компонентов. Возможно, мы можем собрать здесь несколько советов для хорошей настройки.

Для разработки компонента предлагается создать пакет времени выполнения, содержащий код времени выполнения для компонента и пакет времени разработки, который использует пакет времени выполнения и регистрирует только компоненты для delphi ide.

Так что в моем случае я использую групповой проект, который содержит следующие проекты:

MyComponentGrp
|
+- MyComponent140.bpl      //the runtime package containing TMyComponent
|
+- DclMyComponent140.bpl   //designtime package wich registers TMyComponent
|
+- TestApp.exe             //an application to test the component

Эта установка работает нормально, но изменение некоторого кода в пакете времени выполнения требует переустановки пакета designtime, чтобы изменения вступили в силу. Я понимаю это поведение, когда мне нужно добавить новые свойства. Но при изменении кода внутри метода, например, должно быть достаточно для создания пакета времени выполнения, не так ли?

Как настроить IDE для разработки компонентов?

1 Ответ

3 голосов
/ 30 июля 2010

Мне не сложно нажать на пункт меню "build all", чтобы собрать всю мою группу проектов, однако, по многим причинам, отличным от приведенной выше причины "построить два пакета", я считаю полезным иметь разные этапыв разработке компонентов, где я «использую» компонент по-разному и по-разному отношусь к разработке.Вам не нужно переустанавливать, только перестраивать каждый раз.Установка добавляет строку в реестр и вызывает загрузку BPL в IDE.Если он перестроен, он тоже перезагружается.

  1. в раннем прототипировании и функциональной разработке компонента, я сосредоточен на тестировании поведения компонента во время выполнения, и мне даже не нужноимейте это на палитре еще.Я использую модульные тесты, тестовые формы и код, который создает компонент IN CODE, а не во время разработки.это избавляет от необходимости постоянно перестраивать и переустанавливать ДВА пакета.

  2. У меня может возникнуть соблазн не использовать два пакета и использовать только один пакет, который содержит файл MyCompRegs.pas, который содержитТОЛЬКО код компонентов реестра, на ранних этапах разработки.

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

  4. Во время технического обслуживания, постоянной технической поддержки и исправлений для набора компонентов я бы оставил расстановку пакетов отдельно, как у вас есть.

Сноска. Пакет дизайна часто содержит только вызов в одну строку для регистрации компонента в палитре.Тем не менее, в целом, кодирование во время разработки является важной частью того, что делает некоторые из лучших компонентов Delphi мощными, но не все компоненты имеют код времени разработки, а некоторые могут быть совсем небольшим кодом времени разработки.причина того, что отдельные пакеты в Delphi (отделяющие время разработки от кода времени выполнения) стала требованием в какой-то момент в истории Delphi (я думаю, что в Delphi 2006), чтобы код Delphi не связывался и не распространялся внутри пакетов времени исполнения.

...