Текущий архив: 2005.12.25;
Скачать: CL | DM;
Вниз
Комбинирование runtime пакетов и НЕruntime пакетов. Найти похожие ветки
← →
Суслик © (2005-06-01 18:00) [0]Добрый день.
1. Есть приложение, из которого я постепенно выделяю пакеты, с целями:
а) Использовать наработки в других проектах
б) Уменьшить вес приложения (exe) посредством использования опиции "build with runtime packages"
в) plugins
2. Процесс это долгий т.к. приложение весьма увесистое. Приложение с runtime packages требует наличия на клиентской машине файла rtl60.bpl (если не ошибаюсь) и пр. библиотек от borland. Я не хочу в настоящий момент напрягать пользователя дабы он дополнительно установил у себя требуемые пакеты. Хочется иметь некий промежуточный вариант (см. вопрос).
Вопрос. Могу ли я компилировать приложение в таком режиме:
1. Опция "build with runtime packages" включена
2. В списке пакетов указаны МОИ runtime пакеты
3. При этом все остальные пакеты (тот же rtl.bpl и прочие пакеты от borland) продолжают линковаться статически (т.е. в момент компиляции)
?
Спасибо.
← →
Igorek © (2005-06-01 18:36) [1]Не вижу проблемы. Там есть строка - список пакетов. Поставь галочку и убери пакеты борланд. Если убрать все, то будет то же что и статическая линковка.
← →
Суслик © (2005-06-01 18:48) [2]
> [1] Igorek © (01.06.05 18:36)
ты сам попробуй :)
← →
френк (2005-06-01 19:13) [3]угу. у меня такой же вопрос. есть компонент для TBX (Toolbar2000) - DTM, там скины динамически подгружаются из runtime пакетов. мне бы хотелось иметь возможность их подгружать, но в тоже время не иметь фишки с необходимостью перетаскивания rtl за собой. я так понял - это невозможно. к тому же по поводу списка - как быть со списком пакетов, если они "динамически" добавляются и заранее придусмотреть нельзя их поименно =) я так и не разобрался в проблеме =(
← →
френк (2005-06-01 19:14) [4]Удалено модератором
Примечание: Дубль.
← →
Igorek © (2005-06-01 19:34) [5]Суслик © (01.06.05 18:48) [2]
ты сам попробуй :)
Попробовал, и что? //начинаем холивар? :)
← →
Суслик © (2005-06-01 19:44) [6]
> [5] Igorek © (01.06.05 19:34)
))) не надо.
Ты попробуй запуститься на машине, где в winnt\system нет vcl60.bpl или rtl60.bpl :) Программа все равно их требует, хотя я их явно не указывал в списке пакетов.
← →
Igorek © (2005-06-02 13:42) [7]Суслик © (01.06.05 19:44) [6]
да, неправ, сорри :shuffle:
Пробовал, но недоглядел. Работает во всех остальных вариантах, кроме того который нужен тебе. Свои пакеты можно компоновать статически вместе с динамичекими от борланд. Но не наоборот. Почитал тут доки - вразумительного обьяснения не нашел.
← →
Юрий Зотов © (2005-06-02 14:19) [8]> Суслик
> Igorek
> френк
Проверить негде, но, может быть, дело в том, что борландовские пакеты надо линковать статически и при компиляции своих пакетов тоже? В опциях пакета тоже ведь есть та же самая птичка - можно оставить свои пакеты и убрать VCL"ные.
← →
Суслик © (2005-06-02 14:30) [9]
> [8] Юрий Зотов © (02.06.05 14:19)
В опциях пакет эта самая птичка нередактируема (у меня так), т.к. ИМХО фактическии ее роль выполняет секция requires.
Жаль что борланд слабо документирует все особенности работы с пакетами. Было бы время (неделя-две) разобраться самому можно как вообще у борланда это все устроено. Но как-то их (недель) нет :(
← →
Суслик © (2005-06-02 14:54) [10]
> [8] Юрий Зотов © (02.06.05 14:19)
Я вообще так понимаю, что нет возможности скомпоновать свой пакет вместе с другими пакетами СТАТИЧЕСКИ. Т.е. статика проявляется в конечном приложении: либо полностью статическая линковка, либо полностью динамическая.
← →
Igorek © (2005-06-02 17:06) [11]Юрий Зотов © (02.06.05 14:19) [8]
Проверить негде,
Можно достаточно достоверно увидеть это по длине exe.
Суслик © (02.06.05 14:30) [9]
В опциях пакет эта самая птичка нередактируема (у меня так), т.к. ИМХО фактическии ее роль выполняет секция requires.
Да нет, это для другого. Ты же не можешь в свой пакет статичиски прицепить борландовский bpl.
Суслик © (02.06.05 14:54) [10]
Я вообще так понимаю, что нет возможности скомпоновать свой пакет вместе с другими пакетами СТАТИЧЕСКИ.
Нет, но ты можешь подобавлять юниты вручную. А в грамотном пакете такой юнит один - some_package_reg.pas.
--
Можно попробовать грузить пакеты динамически вручную через LoadPackage (скажем из папки \Plugins). И компоненты, которые там тоже создавать динамически. Тогда статически надо слинковать только vcl и те части программы, что еще не вынесены в плагины.
Хотя, имхо, выбор в качестве плагинов рантайм пакетов - не самое удачное решение. Среди прочего это привязка к версии Дельфи. Мой знакомый так счас делает, но я на это смотрю скептически.
Страницы: 1 вся ветка
Текущий архив: 2005.12.25;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.03 c