Форум: "Основная";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];
Внизскомпилировать 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.03 c