ich spiele gerade ein bisschen mit SQLite3db herum und bin auf ein potenzielles Speicherleck gestoßen.
Code: Alles auswählen
program SqliteMemoryLeak;
{$mode objfpc}{$H+}
uses
HeapTrc, {$IFDEF UNIX}{$IFDEF UseCThreads}CThreads,{$ENDIF}{$ENDIF}
Classes, SysUtils, SQLite3db;
var
X: TSQLite;
S: TStringList;
begin
try
S := TStringList.Create;
X := TSqlite.Create('test.sqlite');
X.Query('SELECT * FROM FIRM', S);
finally
FreeAndNil(X);
FreeAndNil(S);
end;
end.
http://michael-fuchs.net/newsgroups/fpc ... ryleak.trc
Sogar wenn ich nicht einmal eine Datenbankabfrage ablaufen lasse, sondern nur das TSqlite erzeuge und zerstöre, tritt eine unfreed memory - Message auf.
Code: Alles auswählen
begin
try
X := TSqlite.Create('test.sqlite');
finally
FreeAndNil(X);
end;
end.
Michael