Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: CL | DM;

Вниз

работа приложения основанного на 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
14-51888
Ajax
2002-11-21 16:50
2002.12.16
Программа для компьютерного клуба.


7-51985
max2057
2002-10-14 22:27
2002.12.16
Массивчики! байт и хеши


3-51629
ALX1
2002-11-28 11:28
2002.12.16
---|Ветка была без названия|---


1-51706
immortal_xak
2002-12-04 15:37
2002.12.16
HELP HELP HELP


3-51569
Воропай Андрей
2002-11-25 11:57
2002.12.16
Повторный запуск клиентского приложения не происходит