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

Вниз

Наследование формы в разных пакетах   Найти похожие ветки 

 
Kerim   (2004-09-24 12:19) [0]

Проблема в следующем. Есть приложение-загрузчик модулей, выполняющий авторизацию, обновление версий и загрузку модулей. В данный момент в разных пакетах находятся формы разных классов. Появилась необходимость в наследуемых формах, но содержащихся в разных пакетах. В тестовом примере получилось следующее: В проекте загрузчика подключена базовая форма, определяющая общий внешний вид и программный интерфейс. Она включена в репозитарий. В 2-х отдельных пакетах эта форма наследуется. Если вызывать наследников модально, загружая пакет и выгружая при закрытии формы, то все ок. Но нужен немодальный вызов наследуемых форм, т.е. при загруженном одном пакете загрузить другой. То, что оба пакета содержат модуль с формой предка, я обошел директивой {$WEAKPACKAGEUNIT ON}, но теперь проблема с повторной загрузкой базового класса. Что посоветуете?


 
Skeptik   (2004-09-24 13:34) [1]

вынести базовую форму в отдельный пакет
в пакетах, где описаны наследники, включить пакет с базовой формой в requires


 
Kerim   (2004-09-24 14:03) [2]

Уточню вопрос. Пакеты я гружу динамически.
При попытке загрузить 2-й пакет со 2-м наследником базового класса при открытом 1-м пакете с 1-м наследником программа-загрузчик выдает ошибку "A class named TMainForm already exists". TMainForm - это базовый класс.

Это происходит, и если базовый класс включен в загрузчик и наследуется через репозитарий (т.е. фактически включается в Contains в пакеты с наследниками), и если он содержится в отдельном пакете, requires для пакетов с наследниками.


 
Skeptik   (2004-09-24 16:16) [3]

я тут тебе примерчик сделал (на D5). куда выслать (zip 21K)?


 
Kerim   (2004-09-24 16:34) [4]

kerim@aasystems.ru



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1096282504
M-Alex
2004-09-27 14:55
2004.10.10
Панель


3-1094800875
skr
2004-09-10 11:21
2004.10.10
Создать программно алиас в BDE


3-1094813399
Vilkkkka
2004-09-10 14:49
2004.10.10
Firebird & Interbase


1-1096207804
Term
2004-09-26 18:10
2004.10.10
TWebBrowser


3-1094728910
Heretic
2004-09-09 15:21
2004.10.10
По поводу процедуры "BeforePost" в Ttable