Форум: "Основная";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
Внизработа приложения основанного на BPL (часть 2) Найти похожие ветки
← →
oss (2002-12-05 13:02) [0]Помогите решить зачдачу. Есть 2 BPL модуля (файла): справочник стран и справочник городов. Надо обеспечить возможность вызова BPL-стран из BPL-городов. К примеру, хотят добавить город, а страны где он находится нет, вызвали модуль стран, внесли нужную, и добавили потом город.
По отдельности я загружаю все модули, работаю с ними, все ок, но проблема возникает, когда вызываю из одного BPL, другой BPL, как в примере.
Ошибка:
EPackageError with message "Cannot load "имя пакета вызываемого".
It contains unit "UDFace", wich is alse contained in package "имя пакета из которого идет вызов"...
У меня 2 модуля интерфейсов, в каждом модуле свой, но чтобы из какого-то модуля вызвать другой, то надо же иметь в uses включение интерфейса вызываемого модуля, а тут оно и начинает ругатся. если убрать из uses ссылку на описание, то тогда не получается загрузить вообще модуль
← →
asmith (2002-12-05 13:13) [1]Модуль интерфейса - в отдельный BPL
← →
Игорь Шевченко (2002-12-05 13:14) [2]oss © (05.12.02 13:02)
> Есть 2 BPL модуля (файла): справочник стран и справочник
> городов.
Конкурент, однако :-)))
← →
oss (2002-12-05 13:25) [3]2 Игорь Шевченко ©
Игорь, Вы мне очень помогли в прошлый раз, прошу еще раз помочь :)
что
>>Конкурент, однако :-)))
?
каждый модуль использует свой отдельный интерфейс, который и лежат в разных файлах...
Но в одном из них в uses упоминается оба файла интерфейсов, чтобы можно было загрузить нужный модуль.
Ведь при в uses всегда есть Messages, SysUtils, но из за них не ругается
или Вы что-то иное имели в виду ?
← →
Андрей Прокофьев (2002-12-05 13:38) [4]Если в два разных пакета (p1, p2) включен некий unit (u1), и этот u1 не включен в третий пакет (p3), а болтается самостоятельно, то эти два пакета (p1, p2) не могут быть загружены одновременно.
Выход - создать третий пакет, (p3) содержащий общие units для этих двух пакетов (p1, p2) и в секции requires этих пакетов добавить p3
Фуф...
>>Ведь при в uses всегда есть Messages, SysUtils, но из за них
>>не ругается
не ругается, так как они включены в пакеты
← →
oss (2002-12-05 13:55) [5]есть пакеты Р1 и Р2,к ним есть файлы интерфейсов Ф1 для Р1 и Ф2 для Р2. Из главной программы загружется Р1 и используется Ф1.
Теперь из этого Р1 надо загрузить Р2 и использовать Ф2.
Получается что в unit Р1 включены и Ф1 и Ф2, а в unit Р1 включен только Ф2. Вот и ругается, что Ф2 есть в обоих пакетах, а как же ему не быть,т.к. без него не получится использовать Ф2
← →
Игорь Шевченко (2002-12-05 14:07) [6]Ф2 - в другой пакет (в P3)
Оба пакета P1 и P2 должны requires P3 и все будет хорошо.
Почему конкурент - в моей программе есть аналогичный фрагмент, со справочниками. Именно городов и стран :-)))
← →
oss (2002-12-05 14:36) [7]2 Андрей Прокофьев ©
2 Игорь Шевченко ©
2 asmith
Большое спасибо, все !
здорово ,что есть этот форум, и такие люди как вы :)
допишу программу, напишу статью по БПЛям %))
← →
Игорь Шевченко (2002-12-05 15:40) [8]oss © (05.12.02 14:36)
Статья уже написана. Я ссылку даю регулярно.
Могу еще раз дать: http://www.delphikingdom.com/mastering/plugins.htm
← →
oss (2002-12-05 17:17) [9]Еще один вопрос
в Information for...
указывается список БПЛей:
rtl70.bpl
vcl70.bpl
dsnap70.bpl
ibxpress70.bpl
vclactnband70.bpl
vcldb70.bpl
Ehlib.bpl
dbrtl70.bpl
А какие из них нужны будут чтобы приложение работало у клиента ?
неужеле все ?
и как точно определить будет использоватся БПЛ
← →
Игорь Шевченко (2002-12-05 17:59) [10]Все
← →
oss (2002-12-06 00:00) [11]спасибо, вот уж действительно,
как капля дегтя в бочке меда :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c