[yunqa.de] TDISQLite3MemIniFile EInvalidPointer suspicion

  • From: Jared Davison <jared@xxxxxxxxxxxxxxxxxxxxxx>
  • To: yunqa@xxxxxxxxxxxxx
  • Date: Thu, 12 Nov 2009 13:29:49 +1100

Hello DISqlite3 list. May I ask your assistance?

1. PROBLEM 1

I have been using TDISQLite3MemIniFile. My applications have been
crashing with EInvalidPointer errors and I'm becoming suspicious that
these started when we switch to TDISQLite3MemIniFile from a regular
TMemIniFile component. I was previously using DISQLite3 2.0.3 when i
was getting that. These are quite rare but happen often enough on
these long lived applications to cause serious trouble.

Has anyone else experienced EInvalidPointer too? I dont get very
useful debug information i think possibly because it crashes inside
the C obj code.

I noticed the error once recently in the debugger when i clicked apply
to save some config settings through the TDISQLite3MemIniFile
component. I suspect it happens on read operations too.

2. PROBLEM 2
So, because of the above problems I thought i'd update to the latest
version of DISqlite3 but now i have crashes on the following during
shutdown of my application...

destructor TDISQLite3IniFileDb.Destroy;
begin
  sqlite3_finalize(FStmtDeleteKey);
  sqlite3_finalize(FStmtEraseSection);  // <<<---- this one causes an
access violation in ntdll.RtlIntegerToUnicodeString according to my
Delphi 7 debugger.

Exception Class C00000005 with message 'access violation at
0x77168c39: write of address 0x00000014'

The function TDISQLite3IniFileDb.EraseSection which has set up the
FStmtEraseSection variable so it is initialised and is NOT nil.

I would be grateful of your assistance.

Many Thanks

Jared
_______________________________________________
Delphi Inspiration mailing list
yunqa@xxxxxxxxxxxxx
//www.freelists.org/list/yunqa



Other related posts: