У меня есть два компонента A и B. Компонент B является производным от компонента A и разделяет с ним большинство свойств и процедур. Теперь у меня длинная процедура, подобная этой:
procedure DoSomething;
begin
Form1.Caption := Component_A.Caption;
// hundreds of additional lines of code calling component A
end;
В зависимости от того, активен компонент B или нет, я хотел бы повторно использовать вышеуказанную процедуру и заменить часть Component_A именем компонента B. Тогда это должно выглядеть следующим образом:
procedure DoSomething;
var
C: TheComponentThatIsActive;
begin
if Component_A.Active then
C := Component_A;
if Component_B.Active then
C := Component_B;
Form1.Caption := C.Caption;
end;
Как я могу это сделать в Delphi2007?
Спасибо!