Главная страница
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.048 c
15-1413815317
Юрий Зотов
2014-10-20 18:28
2015.09.10
Встроенный в Windows 7 программный RAID


11-1259876503
siealex
2009-12-04 00:41
2015.09.10
KOL/MCK @ Win Mobile: запускать внешние программы


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


15-1421962205
Юрий
2015-01-23 00:30
2015.09.10
С днем рождения ! 23 января 2015 пятница


15-1412355165
Dennis I. Komarov
2014-10-03 20:52
2015.09.10
Родительский контроль ++