Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
1-1096333480
evgniyf
2004-09-28 05:04
2004.10.10
delphi8


10-1045474963
Vladimir
2003-02-20 11:03
2004.10.10
corba callback


4-1094575392
Klopan
2004-09-07 20:43
2004.10.10
lpt port


3-1094737576
ZedeS
2004-09-09 17:46
2004.10.10
Отображение в Gridе


1-1095937631
XM-AD
2004-09-23 15:07
2004.10.10
Как завершить процес???




   Наверх