Ver Mensaje Individual
  #7  
Antiguo 17-12-2009
Avatar de juanlaplata
juanlaplata juanlaplata is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Plata, Bs. As. (Argentina)
Posts: 212
Reputación: 18
juanlaplata Va por buen camino
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);
Responder Con Cita