瀏覽代碼

utlStreamHelper: FIFOStream.Clear added

master
Martok 9 年之前
父節點
當前提交
1c76746207
共有 1 個檔案被更改,包括 22 行新增16 行删除
  1. +22
    -16
      uutlStreamHelper.pas

+ 22
- 16
uutlStreamHelper.pas 查看文件

@@ -120,6 +120,7 @@ type
function Seek(const {%H-}Offset: Int64; {%H-}Origin: TSeekOrigin): Int64; override; overload;
procedure BeginOperation;
procedure EndOperation;
procedure Clear;
property LockFree: boolean read fLockFree;
end;

@@ -479,23 +480,9 @@ begin
end;

destructor TutlFIFOStream.Destroy;
var
p,q: PPage;
begin
BeginOperation;
try
fTotalSize:= 0;
fReadPtr:= 0;
fWritePtr:= 0;
p:= fPageFirst;
while p<>nil do begin
q:= p;
p:= p^.Next;
Dispose(q);
end;
finally
EndOperation;
end;
Clear;
Dispose(fPageFirst);
FreeAndNil(fDataLock);
inherited Destroy;
end;
@@ -627,6 +614,25 @@ begin
fDataLock.Release;
end;

procedure TutlFIFOStream.Clear;
var
p: PPage;
begin
BeginOperation;
try
while fPageFirst<>fPageLast do begin
p:= fPageFirst;
fPageFirst:= fPageFirst^.Next;
Dispose(p);
end;
fTotalSize:= 0;
fReadPtr:= 0;
fWritePtr:= 0;
finally
EndOperation;
end;
end;

{ TutlBase64Decoder }

function TutlBase64Decoder.{%H-}Read(var Buffer; Count: Longint): Longint;


Loading…
取消
儲存