Просмотр исходного кода

utlStreamHelper: FIFOStream.Clear added

master
Martok 11 лет назад
Родитель
Сommit
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;


Загрузка…
Отмена
Сохранить