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