fpc/docs/objectex/ex28.pp
1999-01-17 15:08:43 +00:00

30 lines
786 B
ObjectPascal

Program ex28;
{ Program to demonstrate the TCollection.FreeAll method }
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^.FreeAll;
Writeln ('Freed all objects. Memory available : ',Memavail);
Writeln ('Lost : ',Initmem-Memavail,' bytes.');
Dispose(C,Done);
end.