Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   EAccessViotaton al intentar conectar (https://www.clubdelphi.com/foros/showthread.php?t=8919)

Tomás 06-04-2004 14:02:24

EAccessViotaton al intentar conectar
 
Hola a todos:

Tengo una tabla IB conectada con IBX. El código para conectarla funciona bien en el evento OnCreate de cualquier form que no sea el principal, e incluso en un procedure del form principal llamado desde una opción del menú, pero da error si lo pongo en el evento OnCreate del form principal.

El error es: ... raised exception class EAccessViolation with message 'Violación de acceso en la dirección 0052B3E2 en módulo 'PComunidad.exe'. Leer de dirección 00000058.

Código:


//en este procedure del form principal da error

procedure TFMenu.FormCreate(Sender: TObject);
begin
  //conectar base de datos, transación
  DM.IBDB.DatabaseName := ExtractFilePath(ExpandFileName(ParamStr(0))) + 'COMUNIDAD.GDB';
  DM.IBDB.Connected := True;
  DM.IBT.Active := True;
end;


// en este procedure del mismo form funciona bien

procedure TFMenu.AbrirperodoClick(Sender: TObject);
begin
  //conectar base de datos, transación
  DM.IBDB.DatabaseName := ExtractFilePath(ExpandFileName(ParamStr(0))) + 'COMUNIDAD.GDB';
  DM.IBDB.Connected := True;
  DM.IBT.Active := True;
end;


//en el evento OnCreate de cualquier otro form llamado desde este principal funciona bien

¿Qué puede ser?

Un saludo. Tomás.

__cadetill 06-04-2004 14:35:51

Seguramente que si miras el DPR del proyecto verás que el DataModule DM se crea después del formulario principal. Invierte el orden o haz la conexión en el OnShow del formulario principal

Tomás 06-04-2004 19:53:31

Hola:

Muchisimas gracias, cadetill.

Efectivamente, tenía primero el form principal y luego el DM, los he invertido y funciona perfectamente.

Un saludo. Tomás.


La franja horaria es GMT +2. Ahora son las 13:03:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi