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

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

Пытаюсь свелать предка TDataModule... [D5, D6]


Slym ©   (2002-04-23 11:27:00) 

Пытаюсь свелать предка TDataModule...
Необходимо сделать массив дата модулей...
Дата модули с разным наполнением, в каждом датамодуле есть стандартные для всех процедуры, типа Get то-то set то-то
Делаю предка:
TDM = class(TDataModule)
public
procedure get;
procedure set;
end;

Предка он (дельфи) принимает за форму!?! и пытается присвоить ей цвет, шрифт и пр. но этого у TDataModule и у TDM нету.
При запуске выдает ош. типа: ерорр ацесс реад проперти колор, фонт и пр.


Slym   (2002-04-27 06:42:00) [1]

Не пашет инхерит... Потомка создает, компилируется...
Но если переоткрыть проект и скомпилиться снова вылазит орорр!


Slym   (2002-04-25 05:56:00) [2]

Inherit - что это... Всмысле принудительно включить граф. интерфейс родителя?


Yuvich   (2002-04-24 11:34:00) [3]

Точнее:
Создаешь DataModule - предок. Сохраняешь под нужным именем (как любой модуль).
Открываешь Пункт меню File|New|Other (Delphi 6) - запускается визард создания NewItem. Переходишь на закладку своего проекта и выбираешь только-что созданный DataModule. Внизу тыкаешь в радио кнопку Inherit и нажимаешь OK. Все.


Slym   (2002-04-24 10:24:00) [4]

Поточнее и без точек...


Yuvich   (2002-04-23 18:24:00) [5]

>Slym
Бага известная.

Я делаю так. Создаю TDataModule - предка как обычно.
Далее создаю TDataModule - потомка как обычно. Делаю сохранение в файл, но при этом не закрываю файл TDataModule (а то и произойдет эта бага). Далее открываю форму потомка как текст и вместо
object Dm...: TDm... пишу inherited Dm...: TDmBDoc...

Далее как обычно.


Slym   (2002-04-23 17:45:00) [6]

Эй, читай сюда!
Кто нибудь! Никто не знает как мне расширить дата модуль парой процедур?


Slym   (2002-04-23 12:12:00) [7]

Нет, ты посмотри в исходники проекта, дата модуль создается именно как createForm...


Alexandr   (2002-04-23 12:08:00) [8]

DM:=TDM.create(nil);
вот это правильно.

А вообще-то накуралесил ты чего-то, а код приводить не хочешь...


Slym   (2002-04-23 12:03:00) [9]

И еще вообще-то:
type
TLevel1 = class(TDM)//подменяю предка на свой
database1= TDataBase;
table1 = TTable;

и так далее, просто у стандартно созданного дата модуля подменяю предка на свой "продвинутый"


Slym   (2002-04-23 11:59:00) [10]

Как? Как любой дата модуль (загляни в project source)
application.createForm(TDM,DM);
но и просто DM:=TDM.create(nil); не фурычит...
для начала просто нажмите F12 и посмотрите во что превратился дата модуль


Alexandr   (2002-04-23 11:44:00) [11]

как это так?
А как ты потом экземпляр создаешь?


Slym   (2002-04-23 11:40:00) [12]

Прошу прощение ИМЕННО ПОТОМКА, а не предка (ошибся)


Slym   (2002-04-23 11:39:00) [13]

Да но потомок от TDataModule, фактически мне нужно расширить TDataModule парой тройкой процедур, он потомок так и должен остаться Дата модулем, но он превращается в форму!


Johnmen   (2002-04-23 11:31:00) [14]

так это же потомок !.... :)


Наверх

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