Ver Mensaje Individual
  #1  
Antiguo 29-12-2011
jocaro jocaro is offline
Miembro
 
Registrado: sep 2011
Posts: 104
Reputación: 13
jocaro Va por buen camino
Access violation

Hola, a ver si me podéis ayudar.

He creado un form para acceder a base de datos con el siguiente código:

unit BasDat;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBAccess, Uni, UniProvider, SQLiteUniProvider;

type
TFormBasDat = class(TForm)
ProveedorSqlite: TSQLiteUniProvider;
ConexionBDSqlite: TUniConnection;
private
{ Private declarations }
public
{ Public declarations }
end;

var
FormBasDat : TFormBasDat ;

implementation

{$R *.dfm}

end.


El .dpr tiene el siguiente código

program Sdiapp;

uses
Forms,
SDIMAIN in 'SDIMAIN.PAS' {SDIAppForm},
BasDat in 'BasDat.pas' {FormBasDat};

{$R *.RES}

begin

with TFormBasDat.Create(Application)do
begin
Visible:= False;
end;

Application.Initialize;
Application.CreateForm(TSDIAppForm, SDIAppForm);
Application.Run;
end.

Cuando intento acceder desde el evento create de SDIAppForm (form principal), en el que he metido el uses de FormBasDat, me devuelve un access violation. El evento oncreate tiene el siguiente código

procedure TSDIAppForm.EstablecerInicio(Sender: TObject);
begin

FormBasDat.ConexionBdSqlite.Connected := True;
FormBasDat.ConexionBDSqlite.StartTransaction;

end;

He recorrido el código con debug y encuentro que el form de base de datos se ejecuta sin problemas, pero en la primera línea ejecutada en el oncreate anterior (FormBasDat.ConexionBdSqlite.Connected := True me devuelve "inaccessible value". Que es lo que estoy haciendo mal

Un saludo
Responder Con Cita