Ver Mensaje Individual
  #4  
Antiguo 13-03-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Reputación: 20
Héctor Randolph Va por buen camino
Hola jam888!

Te pongo el siguiente código de ejemplo para manejar eventos, espero que resuelva el problema.

Este código corresponde al Form2 esta forma es invocada desde Form1.

Código Delphi [-]
type
  TForm2 = class(TForm)
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    FMiEvento:TNotifyEvent;
  public
     {Declaras un evento como propiedad del Form2}
     property MiEvento:TNotifyEvent read FMievento write FMiEvento;
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  //Si se asignó el evento, entonces se invoca
  if Assigned(FMiEvento) then FMiEvento(Self);
end;

Este código corresponde al Form1 desde aquí vas a invocar al Form2

Código Delphi [-]
implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 with TForm2.Create(Self) do
 try
  {Asignas un procedimiento a la propiedad MiEvento en Form2}
  MiEvento:=EventoEnForm1;
  ShowModal;
 finally
   Free;
 end;
end;

procedure TForm1.EventoEnForm1(Sender: TObject);
begin
  ShowMessage('Este evento ocurre cuando cierras el Form2,'+#10#13+
              'Pero lo manejas en el Form1'+#10#13#13+
              'Ejemplo: este es el caption de la forma '+Caption);
end;




Espero que te sea útil, un saludo.
Responder Con Cita