home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / dos / prg / pas / swag / memory.swg / 0002_BIGMEM2.PAS.pas < prev    next >
Pascal/Delphi Source File  |  1993-05-28  |  1KB  |  56 lines

  1. {
  2. BP7 is not limited to 16Meg of memory, by running the Program below in a
  3. Windows 3.1 Window, it created 744 Objects allocating 30Meg of memory. The
  4. final printout verified that all the items were still there.
  5.  
  6. So if you use a third party DPMI server, you should be able to use all your
  7. memory.
  8.  
  9. I might point out that I allocated 30Meg of memory on my 16Meg machine. I run
  10. Windows 3.1 With a 32Meg permanent swap File.
  11. }
  12.  
  13. Program BigMemory;
  14. Uses
  15.  OpStrDev,Objects;
  16.  
  17. Type
  18.  PDataType=^DataType;
  19.  DataType=Object(tObject)
  20.    C:LongInt;
  21.    S:String;
  22.    Stuffing:Array[1..40000] of Byte;
  23.    Constructor Init(I:LongInt);
  24.  end;
  25. Var
  26.  Counter:LongInt;
  27.  List:TCollection;
  28.  
  29. Constructor DataType.Init(I:LongInt);
  30. begin
  31.  tObject.Init;
  32.  C:=I;
  33.  Write(tpstr,'I = ',I,' I div 2 =',I div 2);
  34.  S:=returnstr;
  35. end;
  36.  
  37. Procedure Printall;
  38.  Procedure PrintOne(P:PDataType);Far;
  39.  begin
  40.    Writeln(P^.C,' - ',P^.S);
  41.  end;
  42. begin
  43.  List.Foreach(@PrintOne);
  44. end;
  45.  
  46. begin
  47.  Counter:=0;
  48.  List.Init(1000,1000);
  49.  Repeat
  50.    inc(Counter);
  51.    List.Insert(New(PDataType,Init(Counter)));
  52.    Write(Counter,' mem =',Memavail,^M);
  53.  Until Memavail<50000;
  54.  PrintAll;
  55. end.
  56.