Главная страница
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.051 c
7-1075122260
Thick
2004-01-26 16:04
2004.05.02
Температура процессора


1-1082346144
Никита
2004-04-19 07:42
2004.05.02
Создание и распаковка архивов средствами Delphi


1-1082097644
Ivolg
2004-04-16 10:40
2004.05.02
FindDialog


3-1081187625
SM
2004-04-05 21:53
2004.05.02
Как в SQL получить первые 10 записей из выборки


11-1066655632
<Falcon>
2003-10-20 17:13
2004.05.02
Печать в mdvXLGrid