Преобразовать строку в указатель объекта? - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть строка 'MyButton'.

Как я могу получить ОБЪЕКТ MyButton из STRING 'MyButton', чтобы я мог написать:

MyButton.Caption := 'My new Caption';

Это будет измените заголовок экземпляра объекта TButton MyButton .

1 Ответ

1 голос
/ 12 апреля 2020

Если компоненту назначено Owner (как делают все компоненты, размещенные во время разработки), то вы можете использовать метод FindComponent() владельца, например:

procedure TMyForm.DoSomething;
var
  Cmp: TComponent;
begin
  Cmp := Self.FindComponent('MyButton');
  if Cmp <> nil then
    (Cmp as TButton).Caption := 'My new Caption';
end;
...