![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пытаюсь свелать предка 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]так это же потомок !.... :)