АН
Анна Никитина

Можно ли в delphi преобразовать TObject в TButton и др типы вызываемого объекта (чтобы сделать обобщённый обработчик)?



Обработчик принимает объект типо 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 - но потом вспомнил, что это бэд стайл) ) поправил.

Похожие вопросы
Можно ли преобразовать тип int в float без потери данных?
Как в Delphi сделать?
Как сделать в Delphi 7 что бы Окно было всегда активным т. е всегда было "типа" как выбранное?
Создание объектов в Delphi
как в CorelDRAW преобразовать из объекта в абрис?
Как преобразовать тип char к integer??
Как преобразовать текстуру в такой тип?
помогите с Delphi 7 пожалуйста. как в Delphi 7 переименовывать объекты (ну например Button,Edit)?
Невозможно преобразовать значение типа "string" в "System.Windows.Forms.Label".
Когда я хочу преобразовать текст в фигуру, у меня невозможно это сделать! Так как преобразовать ТЕКСТ в фигуру?!