Главная страница
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.038 c
1-1082205529
Максим
2004-04-17 16:38
2004.05.02
Как сделать Zoom=100% в PrintPriview?


7-1079083787
Term
2004-03-12 12:29
2004.05.02
Как определить раскладку клавиатуры?


14-1081648147
_Павел
2004-04-11 05:49
2004.05.02
Install Shield


1-1081856040
Olegka
2004-04-13 15:34
2004.05.02
Объединение ячеек в StringGrid


9-1068995883
m2003
2003-11-16 18:18
2004.05.02
Flip (0, DDFLIP_WAIT) возвращает DDERR_SURFACEBUSY