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