mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-06 05:52:30 +02:00
33 lines
843 B
ObjectPascal
33 lines
843 B
ObjectPascal
Program ex29;
|
|
|
|
{
|
|
Program to demonstrate the TCollection.DeleteAll method
|
|
Compare with example 28, where FreeAll is used.
|
|
}
|
|
|
|
Uses Objects,MyObject; { For TMyObject definition and registration }
|
|
|
|
Var C : PCollection;
|
|
M : PMyObject;
|
|
I,InitMem : Longint;
|
|
|
|
begin
|
|
Randomize;
|
|
C:=New(PCollection,Init(120,10));
|
|
InitMem:=Memavail;
|
|
Writeln ('Initial memory : ',InitMem);
|
|
For I:=1 to 100 do
|
|
begin
|
|
M:=New(PMyObject,Init);
|
|
M^.SetField(I-1);
|
|
C^.Insert(M);
|
|
end;
|
|
Writeln ('Added 100 Items. Memory available : ',Memavail);
|
|
Write ('Lost : ',Initmem-Memavail,' bytes.');
|
|
Write ('(Should be 100*',SizeOF(TMyObject));
|
|
Writeln ('=',100*SizeOf(TMyObject),')');
|
|
C^.DeleteAll;
|
|
Writeln ('Deleted all objects. Memory available : ',Memavail);
|
|
Writeln ('Lost : ',Initmem-Memavail,' bytes.');
|
|
Dispose(C,Done);
|
|
end. |