将字符串转换为 object 指针?

Transform a string to an object pointer?

我有一个字符串 'MyButton'.

如何从字符串 'MyButton' 中获取 OBJECT MyButton,以便我可以写入:

MyButton.Caption := 'My new Caption';

这将更改 TButton MyButton object 实例的标题。

如果组件分配了 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;