Subject Where to start debugging. Please help.
Author Johannes Pretorius
Good day (Retry seems first post did not work)

I have a program that copies data from the local database
to target databases over the network. This was first written with
BDE and I then converted to IBObjects with GReplace. I upadted
the Queries update statements, gave the database componets
there own transactions as they will require and ran the program.

BUT I ran into something very weird. In a loop that
happens every 50 seconds I look for entries in a table that
must be copies. Copy them and then delete the entry from the table on succes.
Not to do him again.

The first time this works fine. BUT the SECOND time I get
a access violation on the DELETE statement.

The calling functions :

DM_SysRepl.qryReplSet.Delete; <<== WHERE SECOND call creates ERROR.

Now I have traced it to the following function in IBObjects

function TIB_BDataset.AfterFetchRow( IB_Dataset: TIB_Dataset ): boolean;

Where at the lines :

tmpRecordPassedFilter := CheckRecordFilter( CursorFields );
tmpNode := NodeList.AfterFetchCursorRow( KeyFields.RowBuffer,
not tmpRecordPassedFilter,
IB_Dataset = Self );
if Assigned( tmpNode ) then <<== IDE BREAK
if not CursorIsKeyFields then
if rfEdited in tmpNode.RowFlags then

The IDE Breaks at the if statement. I Geuss the error is really at the
function as the IDE is in some cases at the next step on breaking on a error.

Can somebody please give me some pointers on how to start
solving this problem as I have a HUGE amount of programs
to convert and this is the simple one. Thus I cannot continue if
I cannot do this successfully.

Thanks in Advance for any help

Johannes Pretorius


Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
Version: 6.0.690 / Virus Database: 451 - Release Date: 22/05/2004

[Non-text portions of this message have been removed]