|
|
|
новичок
      
участник
Last Login: 07.02.2001 18:04
Сообщ.: 8,
Visits: 89
|
|
var stream:Tfilestream; v:variant; begin stream:=TfileStream.create('c:\1.jpg',fmOpenRead); V:=VarArrayCreate([0, stream.size - 1], varByte); stream.read(v,stream.size); //здесь ошибка при исполнении stream.free; end;
Ошибка не возникает в том случае, если вместо stream.size подставить константу, не большую 32. Величина файла c:\1.jpg больше 10000 байт.
Как решить эту проблему? Или как скопировать по-другому из потока именно в такой массив (со статическими массивами проблем нет)?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 07.01.2002 11:40
Сообщ.: 135,
Visits: 1 497
|
|
Проверил на 2 компах. Код без проблем. Грузил JPG размером в 150Кило. Может памяти не хватат или с системой что ?
|
|
|
|
|
новичок
      
участник
Last Login: 07.02.2001 18:04
Сообщ.: 8,
Visits: 89
|
|
| Я так ине понял и переделал с использование укащателя Tmemorystream.memory
|
|
|
|