Browse Source

* Clean FBlobBuffers and FUpdateBlobBuffers

git-svn-id: trunk@7538 -
joost 18 years ago
parent
commit
e01b1fc85a
1 changed files with 5 additions and 1 deletions
  1. 5 1
      packages/fcl-db/src/bufdataset.pas

+ 5 - 1
packages/fcl-db/src/bufdataset.pas

@@ -283,6 +283,9 @@ begin
   for r := 0 to High(FUpdateBlobBuffers) do
   for r := 0 to High(FUpdateBlobBuffers) do
     FreeBlobBuffer(FUpdateBlobBuffers[r]);
     FreeBlobBuffer(FUpdateBlobBuffers[r]);
 
 
+  SetLength(FBlobBuffers,0);
+  SetLength(FUpdateBlobBuffers,0);
+
   FFirstRecBuf:= nil;
   FFirstRecBuf:= nil;
   SetLength(FFieldBufPositions,0);
   SetLength(FFieldBufPositions,0);
 
 
@@ -1077,7 +1080,8 @@ procedure TBufDataset.FreeBlobBuffer(var ABlobBuffer: PBlobBuffer);
 begin
 begin
   if not Assigned(ABlobBuffer) then Exit;
   if not Assigned(ABlobBuffer) then Exit;
   FreeMem(ABlobBuffer^.Buffer, ABlobBuffer^.Size);
   FreeMem(ABlobBuffer^.Buffer, ABlobBuffer^.Size);
-  FreeMem(ABlobBuffer, SizeOf(TBlobBuffer));
+  Dispose(ABlobBuffer);
+  ABlobBuffer := Nil;
 end;
 end;
 
 
 function TBufBlobStream.Seek(Offset: Longint; Origin: Word): Longint;
 function TBufBlobStream.Seek(Offset: Longint; Origin: Word): Longint;