Вниз
Скачать: CL | DM;

Runtime package   Найти похожие ветки 

← →
Суслик ©   (2004-11-12 10:36) [0]

Добрый день.

В настоящий момент появилась задача разделить проект на части таким образом, чтобы прикладные задачи могли быть обнослены без перекомпиляции всего проекта.

Для этой цели я решил использовать runtime package (runtime only!).

Эксперимент был удачен. В настоящий момент у меня есть такая конфигурация:
1) Есть пакет tools, который предосталяет операции обработки результата с выводом их на форму, которая лежит в этом же пакете.
2) Есть пакет AddInsPrototype описывающий класс-предок для плугинов и переменную CurrClass: AddInsPrototypeClass
3) Главный проект в настойках имеет галочку в поле build with runtime packages. В списке пакетов установлен только AddInsPrototype.
4) Для каждого плугина есть свой пакет, который используется AddIndsPrototype. Я его грузу через LoadPackage. В initialization одного из модулей пакета стоит строчка CurrClass := TCurrAddInsClass.
5) После того, как главный проект загружает плугин он обращается к CurrClass инстанцирует класс, выполняет нужные с ним операции, удаляет класс, выгружает пакет.

Все нормально работает.
Настолько неожиданно нормально, что у меня есть подозрения, что проблемы обязательно будут потом :)

Поэтому вопросы:
1. Кто как реализует плугины через packages?
2. Есть ли по этому ХОРОШАЯ литература (доступная лит-ра в виде Тайкстеры с Пачеко и штатного хелпа Дельфи изучена)?
3. Как определяется какие пакеты мне нужно перечислять в списке runtime пакетов? Замечу, что я не перечислял ни rtl ни vcl. Очевидно они подгрузились из одного из пакетов. Но также замечу, что когда в тестовых целях создавал проект и пакет, где в списке пакетов проекта был только мой пакет, а мой пакет required только rtl и проект использовал скажем tbutton, то все нормально компилилось, тогда как, очевидно, что tbutton из пакета vcl, который я нигде не указал. Вот этого я понять не могу.

ЗЫ. Вообще говоря мне достаточно ответа на вопрос 2, но если будут ответы на другие вопросы, тоже буду рад.


← →
PEAKTOP ©   (2004-11-14 03:34) [1]

Из своего опыта - если ты компилил прогу с рантаймами, то тяни на клиента все нужные твоей проге *.bpl из %SYSTEM ROOT%\SYSTEM32\.Если даже прога не попросит BPL, то даже единственный нужный ей BPL попросит все то, что у него в requires.

Из-за этой фигни я и отказался от использования рантаймов. Весит exe-шник 2 метра - ну и черт с ним.

А плагины можно писать еще и с помощью DLL.

Литературы на эту тему стоящей не видел. Все, что имеется - это типа "Delphi для чайников", которая помагает как мертвому припарка.

Кстати, народ, может подскажете че-нить ? Присоединяюсь к вопросу автора №2.


← →
SiJack ©   (2004-11-19 10:54) [2]

Про плугины есть пара статей на Королевстве Делфи
еще статейка про пакеты http://community.borland.com/article/0,1410,27178,00.html



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
1-1125334748
Sergey2005
2005-08-29 20:59
2005.09.25
Tag в Delphi 8


14-1125648012
Igorek
2005-09-02 12:00
2005.09.25
Кто пользуется RSS


14-1125921688
Floppy
2005-09-05 16:01
2005.09.25
Как добраться?


9-1117212655
Кефир87
2005-05-27 20:50
2005.09.25
Текстура на пяти квадратах...


3-1123748691
Nilov Serge
2005-08-11 12:24
2005.09.25
из Delphi получить все параметры процедуры MsSql-сервера




   Наверх