una ves programe algo como eso, y aqui el codigo.
Código Delphi
[-]
procedure TBase.actualizarBotones(Pantalla:string);
var i:integer;
accion :TAction;
boton : TToolButton ;
Form :TForm;
begin
Form := Application.FindComponent(Pantalla) as TForm;
if Form <> nil then
begin
Base.Shortcuts.Close;
Base.Shortcuts.Filtered := False;
Base.Shortcuts.Filter := 'Pantalla = '+ quotedStr(Pantalla);
Base.Shortcuts.Filtered := True;
Base.Shortcuts.Open;
Base.Shortcuts.First;
for i:=0 to Base.Shortcuts.RecordCount-1 do
begin
accion := Form.FindComponent(Base.ShortcutsShortcut.AsString) as TAction;
if(accion <> nil )then
begin
boton := Form.FindComponent(Base.ShortcutsBoton.AsString) as TToolButton;
if(boton <> nil )then
begin
accion.OnExecute := boton.OnClick;
boton.Hint := Base.ShortcutsCaptionShortcut.AsString + ' / ' +Base.ShortcutsHintBoton.AsString ;
end;
end;
Base.Shortcuts.Next;
end;
end
else ShowMessage('Sin Pantalla ');
end;
En resumen de tu caso creo q sin problemas podrias hacer
Código Delphi
[-]comp := FindComponent(form1.querynombrecampo.asString);