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); 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); 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