Ver Mensaje Individual
  #1  
Antiguo 19-07-2011
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Reputación: 18
jafera Va por buen camino
Error al crear un MDI Form

Estoy con una aplicación en la que he puesto un formulario de login para que me guarde un valor del ID del usuario que se conecte para usarlo en otro proceso del programa, más que por seguridad.

El login funciona bien siempre que la tabla usuarios tenga algún registro.

Si quiero que la primera vez que arranco la aplicación busque en la tabla de usuarios si existe algun valor y en caso contrario me enseñe el form usuarios para poder insertar uno, me da un error de accsess violation

Access violation at address 006BDF5F in module 'Rebuts.exe'. Read of address

Tengo puesto este código en el source del programa
Código Delphi [-]
begin
        F_Splash := TF_Splash.Create(Application);
        F_Splash.Show;
        F_Splash.Update;
        Sleep(2000);
        Application.Initialize;
        Application.Title := 'Rebuts';
        Application.HelpFile := 'C:\Rebuts_1.0\Ajuda\REBUTS_1.0.HLP';
        Application.CreateForm(TF_ModulDades, F_ModulDades);
        Application.CreateForm(TF_Inici, F_Inici);                   //Aqui tambien se para
        F_Splash.Hide;
        F_Splash.Free;
        Application.Run;
end.

con lo que el datamodule ya esta creado y accesible.

En el FormShow del principal tengo el siguiente codigo

Código Delphi [-]
procedure TF_Inici.FormShow(Sender: TObject);
begin
        ComprovaTaules;

        if F_ModulDades.Usuaris.RecordCount = 0 then
        begin
                F_Usuaris.Create(Self);  //Aqui da el error
        end;

        F_Login:=TF_Login.Create(Self);
        try
                F_Login.ShowModal;
        finally
                F_Login.Free;
        end;
end;

ComprovaTaules es una funcion que mira si existe uno o varios campos nuevos en la tabla o si hay que añadir una tabla entera.

El Form Usuarios es fsMDIChild.

Si ignoro el error entro en el programa sin que me pida el login.

Si alguien tiene alguna idea de donde puede estar el error pues muchas gracias por adelantado.

Saludos
Responder Con Cita