Главная страница
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.07 c
2-1393273093
Митяй2014
2014-02-25 00:18
2015.09.10
Как узнать путь к картинке в Image?


2-1397401551
Drowsy
2014-04-13 19:05
2015.09.10
Ввод новой строки в TDBGridEh.


15-1419111005
Юрий
2014-12-21 00:30
2015.09.10
С днем рождения ! 21 декабря 2014 воскресенье


4-1271754311
QAZ
2010-04-20 13:05
2015.09.10
FindFirstFileW и FindNextFileW


1-1331112835
Deltas
2012-03-07 13:33
2015.09.10
TOleContainer и Excel