Можно ли в delphi преобразовать TObject в TButton и др типы вызываемого объекта (чтобы сделать обобщённый обработчик)?
Обработчик принимает объект типо TObject, как мне преобразовать к примеру в TButton чтоб вытянуть от туда свойство Caption ?
Обработчик принимает объект типо TObject, как мне преобразовать к примеру в TButton чтоб вытянуть от туда свойство Caption ?
TButton и так является (наследником) TObject.
непонятно, что вы подразумеваете под обработчиком.. . вы можете передавать экземпляр TButton в функцию, принимающую параметр типа TObject, если вопрос об этом.
также, возможен явный типкаст. например, TObject(TButton1)
upd:
procedure someproc(arg1: TObject)
begin
...
if arg1 is TButton then // защита от дурака
begin
str1 := TButton(arg1).Caption;
end;
...
end;
// как-то так. могу ошибаться, лет дцать уже не касался Delphi. если что, пишите в комменты
// ...хах, и ошибся, со скобками наверное, хотел написать arg1 as TButton - но потом вспомнил, что это бэд стайл) ) поправил.