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

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



Память: 0.47 MB
Время: 0.033 c
6-1255352020
minomorf
2009-10-12 16:53
2015.09.10
Как сделать аутификацию после подключения клиента к TServerSocket


15-1419107396
Pavia
2014-12-20 23:29
2015.09.10
Придмать невозможное.


2-1394097876
Васька
2014-03-06 13:24
2015.09.10
создание форм


15-1419887710
Кто б сомневался
2014-12-30 00:15
2015.09.10
Кто-нить использует Test Mode в Win 7?


2-1392624704
alexdn
2014-02-17 12:11
2015.09.10
Раскрасить Edit




   Наверх