Добрый день.
Есть основная программа и много *.bpl, так вот при загрузке .bpl пишет что не хватает какой нибуть стандартной bpl. Как этого избежать?
алочка Build with runtime packages установлена, но там прописана моя BPL, которая должна грузиться при запуске приложения, остальные динамически по мере необходимости.
Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице. Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.
06-09-2010 10:32
Причину нашел. В основной пакет в uses не включил модули которые нужны основной программе. Спасибо.
>>> Т.е. если туда прописать все необходимые пакеты то их не надо будет тоскать с собой? Или я что то не понимаю?
Вы у этого пакета удаляете вообще ВСЁ из requires. Тогда в этот пакет войдут системные модули Delphi. Во всех остальных пакетах из requires вы удаляете стандартные пакеты, зато добавляете этот ваш общий пакет.
Только при этом надо определиться, куда же вы денете код system.pas и других модулей, которые раньше входили в RTL.bpl. Либо вы выделяете стандартный код в отдельный пакет, либо вы прикрепляете его к одному из своих пакетов (остальные пакеты тогда должны содержать выбранный вами пакет в requires).
у меня есть пакет который прописан во всех остальных. Т.е. если туда прописать все необходимые пакеты то их не надо будет тоскать с собой? Или я что то не понимаю?
>>> Как сделать так что бы при загрузке bpl не просила стандартные bpl.
Убрать стандартные bpl из всех используемых вами пакетов.
Только при этом надо определиться, куда же вы денете код system.pas и других модулей, которые раньше входили в RTL.bpl. Либо вы выделяете стандартный код в отдельный пакет, либо вы прикрепляете его к одному из своих пакетов (остальные пакеты тогда должны содержать выбранный вами пакет в requires).
Не хочу таскать rtl70.bpl и т.д.
Нужно ставить только мой exe и мои bpl. Вот собственно и вопрос как это сделать? Как сделать так что бы при загрузке bpl не просила стандартные bpl.
07-12-2009 05:37 | Вопрос к автору: запрос дополнительной информации
>>> секции requires уберу все пакеты кроме своего
Эммм... можете нормально описать, что у вас происходит? Тут не телепаты сидят. Откуда вдруг вылез "мой пакет, который использует другой мой пакет"?
Кроме того, вы как именно хотите проблему решать? Ну не хватает стандартных bpl - ну так распространяйте их с программой. Вопрос в чём? Вы не знаете, как это делать или вы не хотите таскать rtl70.bpl?
Значит ваша bpl скомпилирована со стандартными пакетами (секция requires).
Если я из секции requires уберу все пакеты кроме своего, то появляется следующая проблема, первый пакет грузится нормально, а вот при загрузке второго ругается что один из стандартных пакетов используется в первом загруженном пакете.
Как сделать проект автономным
Что вы имеете ввиду?
Посмотрите зависимости своей bpl. Все стандартные пакеты, от которых она зависит, стандартный виндовый загрузчик будет грузить сразу же (как статически прилинкованые dll).
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.