Ver Mensaje Individual
  #2  
Antiguo 25-01-2006
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.235
Reputación: 20
ElKurgan Va camino a la fama
El fallo que te está ocurriendo es el siguiente:

Estás usando una factoría de Formularios a los cuales añades el nombre de la referencia de clase (en tu ejemplo, TForm2); cuando haces click y creas un formulario a partir de la referencia de clase tienes un formulario de tipo "TForm2" (que en realidad, es un puntero a un objeto de tipo formulario); sin embargo, al llamar al formulario 4, le pones estas líneas:

Código:
     IF edit1.Text<>'' THEN
     begin
         form2.Edit1.Text:=edit1.Text; // <<<<< ¿Form2?
Aqui estás llamando a UNA VARIABLE de tipo TForm, que no ha sido creada en ningún sitio, por lo que te da el error de Access Violation.

Yo lo que haría en TForm4 es lo siguiente:

Código:
procedure TForm4.Button1Click(Sender: TObject);
begin
  IF edit1.Text = '' THEN
    showmessage('Debe llenar la caja');
  else
    close;
end;
Y en el propio formulario TForm2 es donde daría valor al EditBox:

Código:
procedure TForm2.Button1Click(Sender: TObject);
begin
  Application.CreateForm(Tform4,form4);
  try
    form4.ShowModal;
    self.Edit1.Text := Form4.Edit1.Text; 
  finally
    form4.Free;
  end;
end;
Espero haber sido claro

Un saludo
Responder Con Cita