[Back to WIN-OS2 SWAG index]  [Back to Main SWAG index]  [Original]


uses WinCrt;
Const MaxP = 1024; { allocate about 32M, until 2Mb is left (else GPF)... }
var p: Array[1..MaxP] of PChar;
    size,i: Word;

    function min(x,y: LongInt): Word;
    begin
      if x < y then min := x
               else min := y
    end {min};

var StartMem,StartMax: LongInt;
begin
  i := 0;
  StartMem := MemAvail;
  StartMax := MaxAvail;

  repeat
    Inc(i);
    write(i:5,' ':2,MemAvail:10,' ':2,MaxAvail:10);
    size := min(32768,MaxAvail);
    writeln('---> ',size);
    GetMem(p[i],size);
  until (MaxAvail <= LongInt(2048) * 1024) or (i >= MaxP);

  writeln;
  writeln('Start: ',StartMem:10,' ':4,StartMax:10);
  writeln(' Stop: ',MemAvail:10,' ':4,MaxAvail:10);
  { don't free anything... }
  readln;
end.

[Back to WIN-OS2 SWAG index]  [Back to Main SWAG index]  [Original]