Вниз
Скачать: CL | DM;

Классы и подклассы   Найти похожие ветки 

← →
Agent[007]   (2004-06-07 14:41) [0]

Допустим у нас есть тип:
 TMenuItemGL = record
   Caption : string[32];
   Index   : Integer;
 end;


И три производных класса:
 TMenuDirGL = class(TMenuItemGL)
   Items : array of TMenuItemGL;
   procedure Add(mItem: TMenuItemGL);
 end;

 TMenuOptionGL = class(TMenuItemGL)
   Checked : Boolean;
   OnCheck : procedure;
 end;

 TMenuButtonGL = class(TMenuItemGL)
   OnClick : procedure;
 end;


Массив:
 MainMenu: array of TMenuItemGL;

???ВОПРОС???

Как в массив MainMenu записать переменные типа, производного от TMenuItemGL ???


← →
Erik1   (2004-06-07 14:45) [1]

Вопрос: как это ты унследовался от TMenuItemGL - этоже record! А записать просто

SetLength(MainMenu, 3);
New(MainMenu[0]);


← →
KSergey ©   (2004-06-07 14:48) [2]

От рекорда наследуется класс?? Нука, попробую....


← →
KSergey ©   (2004-06-07 14:49) [3]

Вы компилить пробовали сей бред?? (я проверил, а то уж засомневался.. вдруг чего не понимаю...)


← →
Agent[007]   (2004-06-07 14:52) [4]

А от чего классы наследуются???


← →
KSergey ©   (2004-06-07 14:57) [5]

От классов, разумеется


← →
Agent[007]   (2004-06-07 15:00) [6]

Ну так что вместо рекорда class писать?


← →
KSergey ©   (2004-06-07 15:04) [7]

Да


← →
Digitman ©   (2004-06-07 15:16) [8]


> Agent[007]   (07.06.04 15:00) [6]
> Ну так что вместо рекорда class писать?


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


← →
Sandman25 ©   (2004-06-07 15:24) [9]

>Как в массив MainMenu записать переменные типа, производного от TMenuItemGL ???

А в чем проблема? Никогда не удивлялись, почему TNotifyEvent объявлен с параметром типа TObject, а вызывается с параметром типа TButton или TDBGrid?


← →
Erik1   (2004-06-07 16:07) [10]

А зачем тебе вобще наследоватся?
Напиши просто
TMenuDirGL = class
....
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.018 c
14-1086255952
Отшельник
2004-06-03 13:45
2004.06.20
Увеличить громкость в avi файле


6-1083220373
Floppy
2004-04-29 10:32
2004.06.20
А как создать ярлыки на компьютерах локальной


3-1085583772
Алексей
2004-05-26 19:02
2004.06.20
Базы данных отношение "многие ко многим"


1-1086253320
Сергей_И
2004-06-03 13:02
2004.06.20
Помогите создать в гриде чекбокс


4-1084369940
SVM
2004-05-12 17:52
2004.06.20
Редактирование телефонной книги удаленного доступа




   Наверх