Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

dfm и TDataModule


TDataModule ©   (2014-04-07 12:04:00) 

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


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

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


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

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

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


TDataModule   (2014-04-07 17:04:00) [3]

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


sniknik   (2014-04-07 15:45:00) [4]

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


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


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


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


sniknik   (2014-04-07 15:33:00) [6]

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


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

есть 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


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

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

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


sniknik   (2014-04-07 14:17:00) [9]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо