Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

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

 
REA ©   (2004-04-13 10:43) [0]

Мне понадобилось использовать стандартные компоненты, но добавить к ним некую функциональность при чем общую для всех. Т.е. налицо как бы множественное наследование.
Можно наверно использовать интефейсы. Есть идеи как можно решить задачу?


 
Игорь Шевченко ©   (2004-04-13 10:50) [1]


> но добавить к ним некую функциональность при чем общую для
> всех


Например ?


 
uny   (2004-04-13 10:50) [2]

копирайт можно поставить...


 
DiamondShark ©   (2004-04-13 11:03) [3]


> Есть идеи как можно решить задачу?

Так прямо и решать.

ICommonFunctionality = interface
...
end;

TMyStandardComponent1 = class(TStandardComponent1, ICommonFunctionality)
...
end;

TMyStandardComponent2 = class(TStandardComponent2, ICommonFunctionality)
...
end;

далее со всеми остановками.


 
REA ©   (2004-04-13 11:07) [4]

Ну я не имел ввиду вообще все компоненты.
Например мне нужна функция настройки в доступном для юзера виде (цвет, шрифт и т.п.), нужна функция передачи данных в компоненты в моем формате в зависимости от которых может например меняться текст на Label или Grid. Ну возможно что-то еще понадобится.
Обе указанные проблемы конечно можно решить послав сообщение компоненту, а аргументы положив в доступное место. Результат тоже правда придется куда то положить.


 
Reindeer Moss Eater ©   (2004-04-13 11:13) [5]

TMyBaseComponent = class
public SetupFunctionForColorAndFont; virtual; abstract;
public FunctionForTransmittingData(AData:Pointer; ADataLen:Cardinal); virual; abstract;
end;


 
REA ©   (2004-04-13 12:37) [6]

2Reindeer Moss Eater>
Так я умею, а где тут перегрузка стандартных компонентов (панели, лэйблы, гриды...)?

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



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

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
7-1078860890
Ландграф Павел
2004-03-09 22:34
2004.05.02
Поскажите как узнать дату создания ветви в реестре


8-1075882706
dub daze
2004-02-04 11:18
2004.05.02
структура wave-файла


1-1081767069
Vetalich
2004-04-12 14:51
2004.05.02
Регистрация программы


1-1082096797
Litva
2004-04-16 10:26
2004.05.02
помогите новенкой...


3-1080918463
}|{yk
2004-04-02 19:07
2004.05.02
ОК, а как получит всех детей любого поддерева не имеющих потомков