Вниз
Скачать: CL | DM;

out of memory   Найти похожие ветки 

 
Nutz   (2009-11-09 19:02) [0]

в memorystream пытаюсь записать некоторые данные. Вот например:

 B: array [0..65535*256] of Byte;

procedure TForm1.Button1Click(Sender: TObject);
var
 I, T: Integer;
begin
 T := GetTickCount;
 M := TMemoryStream.Create;
 try
   for I := 1 to 10000 do
     M.Write(B, SizeOf(B));
 finally
   M.Free;
   ShowMessage(format("öèêëîâ: %d; âðåìÿ: %d", [I, GetTickCount - T]));
 end;
end;


В определенный момент вылетает out of memory. В чем проблема и как исправить


 
Игорь Шевченко ©   (2009-11-09 19:08) [1]

Проблема в коде. 10000 по 16*256 килобайт будет сколько ? правильно, 40 гигабайт.
для MemoryStream сколько доступно ? Правильно, меньше 2-х гигабайт.
Чего ты еще хочешь таким кодом ?


 
Anatoly Podgoretsky ©   (2009-11-09 19:59) [2]

> Nutz  (09.11.2009 19:02:00)  [0]

А память не лопнет от таких объмов.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
1-1215982046
Stan
2008-07-14 00:47
2009.12.27
Кириллица отображается неверно.


15-1256511599
Германн
2009-10-26 01:59
2009.12.27
Что за зверь search.qip.ru


4-1225560998
POP
2008-11-01 20:36
2009.12.27
Добраться до PortName, через SetupAPI.


3-1232538063
Patrick1968
2009-01-21 14:41
2009.12.27
Параметр хранимой процедуры


15-1256455692
Киря
2009-10-25 10:28
2009.12.27
Треугольник




   Наверх