Hola dalyla2010.
Otra forma que podés utilizar para enviar y recibir datos entre forms es:
Form1 ( Receptor )
Código Delphi
[-]
type
TForm1 = class(TForm)
...
private
FResultado: string;
procedure RecibirMsg(var Msg: TMessage); message WM_USER + 300;
public
end;
...
interface
uses Unit2;
...
procedure TForm1.RecibirMsg(var Msg: TMessage);begin
FResultado:= PChar(Msg.LParam); end;
...
Form2 ( Remitente )
Código Delphi
[-]
...
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
var
Value: string;
begin
Value:= 'SALUDOS DESDE FORM2'; SendMessage(FindWindow('TForm1','Form1'), WM_USER + 300, 0, DWORD(Pchar(Value)));
Action:= caFree;
end;
La función FindWindow debe especificar el nombre de clase y de form que correspondan al receptor.
En este caso utilizé un string pero podés pasar otros tipos de datos.
( Totalmente de acuerdo con
ElKurgan )
Un saludo.