1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
procedure Test1;
var
T: array of array of single;
begin
SetLength(T, 572, 572);
ShowMessage(IntToStr( Length(T[0]) * Length(T) * sizeof(Single) ));
end;
procedure Test2;
var
T: array[0..571, 0..571] of Single;
begin
ShowMessage(IntToStr( Length(T[0]) * Length(T) * sizeof(Single) ));
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
// La taille maxi de la pile réservée aux variables dans une procédure est 1 048 576 et la déclaration du tableau (1 308 736) dépasse le maximum
try
Test1;
Test2;
except
on E:Exception do
ShowMessage(E.Message);
end;
end; |