access violation when using TLiteTable
Posted: Wed 06 Nov 2013 14:19
I am new to Devart forums and SQLite.
I am trying to convert a fairly large project written in Delphi 4 with Paradox into Delphi XE5 with SQLite tables using the Devart SQLite components. I have done a lot of replacing old BDE TTables with Devart TLiteTables. When I try to execute the program, I am getting access violations when trying to access certain TLitetables. This doesn't happen when I first open the program, but only happens after I have executed a number of procedures. It always happens at the same places in the code, often when I make the table active. The following code executes without problems at the beginning of the program but gets an access violation when run later on. A separate form named 'Search' has the ResProjTblLite and MasterTbl components which are both type TLiteTable.
procedure TBuildingComponent.DeleteRefBuildings;
var
OldProject: Integer;
begin
OldProject := Search.ResProjTblLite.FieldByName('Proj_ID').AsInteger;
with Search.MasterTbl do begin
Active := True; //access violation happens right here
if not (Global.BuildingTypeView = 'Ref99') then
begin
//etc.
//etc.
So my basic question is what might cause a tlitetable that is accessed OK in the beginning to start getting access violations. The code ran OK with Paradox tables.
Thanks for any ideas.
I am trying to convert a fairly large project written in Delphi 4 with Paradox into Delphi XE5 with SQLite tables using the Devart SQLite components. I have done a lot of replacing old BDE TTables with Devart TLiteTables. When I try to execute the program, I am getting access violations when trying to access certain TLitetables. This doesn't happen when I first open the program, but only happens after I have executed a number of procedures. It always happens at the same places in the code, often when I make the table active. The following code executes without problems at the beginning of the program but gets an access violation when run later on. A separate form named 'Search' has the ResProjTblLite and MasterTbl components which are both type TLiteTable.
procedure TBuildingComponent.DeleteRefBuildings;
var
OldProject: Integer;
begin
OldProject := Search.ResProjTblLite.FieldByName('Proj_ID').AsInteger;
with Search.MasterTbl do begin
Active := True; //access violation happens right here
if not (Global.BuildingTypeView = 'Ref99') then
begin
//etc.
//etc.
So my basic question is what might cause a tlitetable that is accessed OK in the beginning to start getting access violations. The code ran OK with Paradox tables.
Thanks for any ideas.