Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.048 c
2-1393856756
GroupBox
2014-03-03 18:25
2015.09.10
Скрыть рамку котрола


15-1415042821
Kerk
2014-11-03 22:27
2015.09.10
HTTP 400


15-1416493349
aka
2014-11-20 17:22
2015.09.10
поворот отрезка


2-1394622199
Васька
2014-03-12 15:03
2015.09.10
выбор столбца для суммирования в SQL


15-1418333424
Юрий
2014-12-12 00:30
2015.09.10
С днем рождения ! 12 декабря 2014 пятница





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский