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]