Ver Mensaje Individual
  #2  
Antiguo 30-07-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Asignando nombres a los componentes y usando FindComponent no debería ser difícil.
POdría ser una primera forma sin muchas complicaciones.

Código Delphi [-]
procedure TForm1.MostrarFormularioDinamico;
var
  DebugForm: TForm;
  memo1: TMemo;
  Btn1: TButton;
  Pnl1: TPanel;
begin
    DebugForm:= TForm.Create(self);
    DebugForm.Width:= Trunc(Self.Width/2);
    DebugForm.Name := 'FormException';

    Pnl1:= TPanel.Create(DebugForm);
    Pnl1.Parent:= DebugForm;
    Pnl1.Align:= alBottom;
    Pnl1.Name := 'pnl1';

    Btn1:= TButton.Create(DebugForm);
    Btn1.Parent:= Pnl1;
    Btn1.Name := 'Btn1';
    Btn1.OnClick := ClickMe; //<----Ahora ya no da problemas  ;-)

    memo1:= Tmemo.Create(DebugForm);
    memo1.Parent:= DebugForm;
    memo1.Align:= alClient;
    memo1.ScrollBars:= ssBoth  ;
    memo1.Name := 'memo1';

    DebugForm.Show;
end;

En el evento ClickMe puedes hacer algo así (no he puesto comprobaciones de error):

Código Delphi [-]
procedure TForm1.ClickMe(Sender: TObject);
var
  s: string;
  f:TForm;
  m:TMemo;
begin
  try
    f := TForm(TComponent(Sender).Owner);
    m := TMemo(f.FindComponent('memo1'));
    s := m.Text;

    MessageDlg(Format('Se ha pulsado el botón en el Formulario: %s'+
                      #13+#10+'En el Memo hay lo siguiente:'+#13+#10+
                      '----------------------------------------------'+
                      #13+#10+'%s'+#13+#10+'----------------------------------------------',
                      [f.Name, m.Text]), mtInformation, [mbOK], 0);

  except
    on E:Exception do MessageDlg(E.Message, mtWarning, [mbOk],0);
  end;
end;

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita