You've already forked lazarus-ccr
TParadoxDataset: Fix memory leak
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6898 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -45,15 +45,15 @@ type
|
|||||||
PLongWord = ^Longword;
|
PLongWord = ^Longword;
|
||||||
|
|
||||||
{ field information record used in TPxHeader below }
|
{ field information record used in TPxHeader below }
|
||||||
PFldInfoRec = ^TFldInfoRec;
|
PFldInfoRec = ^TFldInfoRec;
|
||||||
TFldInfoRec = packed RECORD
|
TFldInfoRec = packed record
|
||||||
fType : byte;
|
fType: byte;
|
||||||
fSize : byte;
|
fSize: byte;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
PPxHeader = ^TPxHeader;
|
PPxHeader = ^TPxHeader;
|
||||||
TPxHeader = packed RECORD
|
TPxHeader = packed record
|
||||||
recordSize : word;
|
recordSize : word;
|
||||||
headerSize : word;
|
headerSize : word;
|
||||||
fileType : byte;
|
fileType : byte;
|
||||||
@ -143,13 +143,13 @@ type
|
|||||||
|
|
||||||
TParadoxDataSet = class(TDataSet)
|
TParadoxDataSet = class(TDataSet)
|
||||||
private
|
private
|
||||||
FActive : Boolean;
|
FActive: Boolean;
|
||||||
FStream : TFileStream;
|
FStream: TFileStream;
|
||||||
FFileName: TFileName;
|
FFileName: TFileName;
|
||||||
FHeader : PPxHeader;
|
FHeader: PPxHeader;
|
||||||
FaRecord : Longword;
|
FaRecord: Longword;
|
||||||
FaBlockstart : LongInt;
|
FaBlockstart: LongInt;
|
||||||
FaBlock : PDataBlock;
|
FaBlock: PDataBlock;
|
||||||
FaBlockIdx: word;
|
FaBlockIdx: word;
|
||||||
FBlockReaded: Boolean;
|
FBlockReaded: Boolean;
|
||||||
FBookmarkOfs: LongWord;
|
FBookmarkOfs: LongWord;
|
||||||
@ -348,8 +348,9 @@ begin
|
|||||||
BindFields(FALSE);
|
BindFields(FALSE);
|
||||||
if DefaultFields then // Destroy the TField
|
if DefaultFields then // Destroy the TField
|
||||||
DestroyFields;
|
DestroyFields;
|
||||||
Freemem(FHeader);
|
FreeMem(FHeader);
|
||||||
Freemem(FaBlock);
|
FreeMem(FaBlock);
|
||||||
|
FreeAndNil(FStream);
|
||||||
FHeader := nil;
|
FHeader := nil;
|
||||||
FActive := False;
|
FActive := False;
|
||||||
end;
|
end;
|
||||||
|
Reference in New Issue
Block a user