mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 18:51:53 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			823 B
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			823 B
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| Program ex30;
 | |
| 
 | |
| { Program to demonstrate the TCollection.Free 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),')');
 | |
|   With C^ do
 | |
|     While Count>0 do Free(At(Count-1)); 
 | |
|   Writeln ('Freed all objects. Memory available : ',Memavail);
 | |
|   Writeln ('Lost : ',Initmem-Memavail,' bytes.');
 | |
|   Dispose(C,Done);
 | |
| end. | 
