Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.05;
Скачать: CL | DM;

Вниз

скомпилировать EXE вместе с ВPL   Найти похожие ветки 

 
DmS   (2003-12-19 14:01) [0]

Написал программу с плагинами на пакетах (packages). Интерфейс класса-родителя для плагинов вынесен в отдельный пакет. Чтобы подключить его к основной программе ставлю галочку "Build with runtime packages" и указываю свой интерфейсный пакет. Все отлично работает, но на других машинах (где нет Delphi) естественно начинает требовать rtl70.bpl, vcl70.bpl и, конечно, сам файл bpl интерфесного пакета. Если галочку убираю - мой собственный bpl никак не попадает в EXE и программа работает некорректно. Поэтому решил спросить, как можно скомпилировать EXE вместе со всеми необходимыми пакетами включая собственный.
Спасибо.


 
Amoeba ©   (2003-12-19 14:06) [1]

При установке твоей программы на другой компьютер нужно также переносить и пакеты rtl70.bpl, vcl70.bpl (их бросаешь в system или system32 в зависимости от того, что стоит: win9x или Win2k/XP)


 
Юрий Зотов ©   (2003-12-19 14:07) [2]

> как можно скомпилировать EXE вместе со всеми необходимыми
> пакетами включая собственный.

Так все таки, "со всеми необходимыми пакетами", или вообще без всяких пакетов?

Если первое - ставьте ту самую галку (кстати, ничко не мешает отредактировать список run-time пакетов), если второе - убирайте ее. И все.

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


 
DmS   (2003-12-19 14:08) [3]

Это понятно. Как это обойти, ведь можно же написать самодостаточный exe-шник.


 
DmS   (2003-12-19 14:10) [4]


> ставьте ту самую галку

если я ее ставлю, то как раз требуются сторонние bpl, если убираю, то они "включаются" в exe-шник (НО без моего).


 
Amoeba ©   (2003-12-19 14:12) [5]

Убери из списка пакетов основной программы и твоего пакета rtl70.bpl, vcl70.bpl


 
Юрий Зотов ©   (2003-12-19 14:13) [6]

> DmS (19.12.03 14:10) [4]

> если я ее ставлю, то как раз требуются сторонние bpl,
Кто мешает убрать их из списка и оставить в нем только свой?

> если убираю, то они "включаются" в exe-шник (НО без моего).
- Папа, а люди есть?
- Нет, сынок, это фантастика.
Каким образом Вы определили, что Ваши модули в Exe не вошли?


 
Amoeba ©   (2003-12-19 14:14) [7]

Но оставь галку у усновной программы и твой bpl в списке пакетов. Для пакета убери все пакеты списка.


 
DmS   (2003-12-19 14:31) [8]

Кажется разобрался чуть-чуть. Сейчас требует только rtl70.bpl, который стоит с списке Requires в МОЕМ пакете. Получается, что мой пакет при загрузке требует его. Build with в пакетах испольхзовать нельзя.


> Каким образом Вы определили, что Ваши модули в Exe не вошли?

Довольно просто - смотрю отчет программы TDump.exe


 
Amoeba ©   (2003-12-19 14:32) [9]

Удали rtl70.bpl из rеquires твоего пакета


 
DmS   (2003-12-19 14:50) [10]

сделал. в итоге пакет собрался с rtl70.bpl

вываливается ошибка: Cannot load package "rtl70". It contains unit "System" wich is also containes in package "keyGenerator"

дальше работает вроде нормально, но это сообщение смущает :)


 
Юрий Зотов ©   (2003-12-19 14:53) [11]

> DmS (19.12.03 14:31) [8]
> Довольно просто - смотрю отчет программы TDump.exe

Что-то тут не так. Другие программы ведь без пакетов собираются - и никаких проблем.


 
DmS   (2003-12-19 16:19) [12]


> Что-то тут не так

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


 
Iliasaur   (2003-12-22 08:42) [13]

В проге ставь галочку Build with runtime packages, но прописывай только свой интерфейсный пакет. Если интерфейсный пакет (или пакеты самих плагинов) при компиляции начинают требовать каки-нибудь библиотеки, просто указываешь их в меню Tools->Enviroment options->Library. После этого компилятор начнет предлагать включить их и в раздел Requires твоего пактеа. Но ты ни в коем случае не соглашайся, и все заработает :)



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

Текущий архив: 2004.01.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
14-12132
belyh
2003-12-13 13:34
2004.01.05
RxLib


4-12210
h0use
2003-11-04 12:13
2004.01.05
Создать невидимую форму реально?


1-11991
real_dimedrol
2003-12-19 01:32
2004.01.05
функция format


1-11962
Dr.Alex
2003-12-19 15:33
2004.01.05
Файловая система. HELP!!!


1-11894
snake1977
2003-12-18 12:56
2004.01.05
MDIChild в DLL