В моем приложении мне нужно добавить некоторые дополнительные функции для сторонних элементов управления.
Примером могут служить TcxLabel и TcxDBLabel (от DevExpress). Оба наследуют от одного и того же базового класса.
Для этих элементов управления я хотел бы добавить некоторые поля и методы.
Как я это делаю сегодня:
TMycxLabel = class(TcxLabel)
private
FMyField1: string;
FMyField2: Integer;
public
procedure DoSomething;
end;
TMycxDBLabel = class(TcxDBLabel)
private
FMyField1: string;
FMyField2: Integer;
public
procedure DoSomething;
end;
Так что в основном мне приходится писать все дважды.
Одним из способов достижения этого было бы изменение базового класса, от которого наследуются эти 2 элемента управления. Но это не вариант - классы/пакеты DevExpress не должны изменяться.
Есть ли способ добавить это?