Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

работа приложения основанного на 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо