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

Вниз

dfm и TDataModule   Найти похожие ветки 

 
TDataModule   (2014-04-07 12:04) [0]

Есть цепочка классов унаследованных от TDataModule. К одному из наследников нужно прикрутить dfm. Создаю dfm, но, когда открываю в design режиме, он открывается как форма и добавляются лишние свойства. Что не так?


 
sniknik ©   (2014-04-07 14:17) [1]

> нужно прикрутить dfm
у датамодуля есть dfm.

> Что не так?
наверное "прикручиваемый" для формы, с визуальными компонентами.


 
Юрий Зотов ©   (2014-04-07 14:19) [2]

В design режиме открывается как форма - а как еще он должен открываться?

А насчет лишних свойств - нужны подробности. Какие именно свойства, где, как и в каком разделе они объявлены... и.т.п.


 
TDataModule   (2014-04-07 14:35) [3]

есть 3 юнита:

datamodulea.pas


unit datamodulea;

TDataModuleA = class(TDataModule)
// ...
end;


datamoduleb.pas


unit datamoduleb;

TDataModuleB = class(TDataModuleA)
// ...
end;


datamodulec.pas


unit datamodulec;

TDataModuleC = class(TDataModuleB)
// ...
end;

var

 DataModuleC: TDataModuleC;

implementation

{$R *.dfm}


datamodulec.dfm

в таком виде я ее создаю:


object DataModuleC: TDataModuleC
 Left = 0
 Top = 0
 Height = 112
 Width = 199
 OldCreateOrder = False
end


как только я нажимаю F11, среда меняет dfm, делает ее как TFrom:


object DataModuleC: TDataModuleC
 Left = 0
 Top = 0
 ClientHeight = 112
 ClientWidth = 199
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = "Tahoma"
 Font.Style = []
 OldCreateOrder = False
 PixelsPerInch = 96
 TextHeight = 13
end


 
sniknik ©   (2014-04-07 15:33) [4]

> в таком виде я ее создаю:
ты вроде говорил что он наследуемый, а где inherited?


 
TDataModule   (2014-04-07 15:39) [5]


> ты вроде говорил что он наследуемый, а где inherited?


всмысле? у меня inherited в constructor TDataModuleC.Create. в dfm нужен inherited?


 
sniknik ©   (2014-04-07 15:45) [6]

> в dfm нужен inherited?
ну так, создай в десигне в дельфях да посмотри.


 
TDataModule   (2014-04-07 17:04) [7]

Разобрался, оказывается нужно модули регистрировать через RegisterCustomModule().


 
sniknik ©   (2014-04-07 18:00) [8]

> через RegisterCustomModule().
>> ты вроде говорил что он наследуемый
?
http://www.delphimaster.net/view/5-1090683370
Юрий Зотов ©   (2004-07-24 20:59) [3]
Да. Дело в том, что даже если компоненты на форме-предке и будут, то после вызова для нее RegisterCustomModule Вы все равно получите пустую форму-наследник.

смысл такого "наследования" если там компонент предков не будет?


 
Юрий Зотов ©   (2014-04-07 20:57) [9]

Похоже, RegisterCustomModule в данном случае - это стрельба из пушки по воробьям. Достаточно использовать репозиторий и наследоваться оттуда. Тогда и inherited появится.



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

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

Наверх




Память: 0.48 MB
Время: 0.169 c
15-1416082320
Dennis I. Komarov
2014-11-15 23:12
2015.09.10
Протестируйте ссылку пожалуйста


2-1395039984
Васька
2014-03-17 11:06
2015.09.10
автоподбор высоты ячейки в Excel


15-1412541002
Юрий
2014-10-06 00:30
2015.09.10
С днем рождения ! 6 октября 2014 понедельник


15-1415447176
dmk
2014-11-08 14:46
2015.09.10
Про переменные


15-1420839004
Юрий
2015-01-10 00:30
2015.09.10
С днем рождения ! 10 января 2015 суббота