Use property. Não faça referência direta aos componentes entre forms.

No seu form onde estão os edits, faça:
private
  fValorA : String;
  fValorB : String;
public
  property ValorA : String read fValorA;
  property ValorB : String read fValorB;
end;

No botão de fechar do form faça:
  fValorA : Edit1.Text;
  fValorB : Edit2.Text;

No form principal, faça:
var
  vValorA, fValorB : String;
  vObjFrm : TForm:
begin
    vObjFrm := TForm.Create(Self): 
   try
      {Aqui você faz o que já está fazendo hoje, criar componentes, ...}
      
     vObjFrm.ShowModal;
     vValorA := vObjFrm.ValorA;
     vValorB := vObjFrm.ValorB; 
   finally
     {Não precisa fazer edit1.free}
     FreeAndNil(vObjFrm);
   end;

{Aqui você usa o retorno}
 showmessage(vValorA);
 showmessage(vValorB);

end;

Isso é só um rascunho, tem que lapidar.


 Luciano Calenzani Simões


      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a