Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не удаляется из памяти поток MemoryStream [D7, 2003]


Страницы:   1 2 3

alex_sz ©   (2006-10-05 02:22:00) 

Фрагмент исходника:

     s:=memorystream.create;
     //Задаем цикл.
     //В цикле сохраняем в поток s картинку SaveToStream(S).
     //закрываем цикл.
     s.Free;

Набдюдается картина-OutOfMemory! Во время работы цикла идет постоянный прирост загрузки памяти, по не Out.
Подскажите пожалуйста, как освобождать память от потока(или содержимого потока)?


alex_sz   (2006-10-05 03:45:00) [41]

with table do begin
   first;
     while not eof do
       begin
           PictStream := TMemoryStream.Create;
           (table.FieldByName('RPHOTO') as TBlobField).SaveToStream(PictStream);
           PictStream.Free;
         next;
       end;
 end;


Германн   (2006-10-05 03:37:00) [42]


> alex_sz   (05.10.06 03:16) [8]
>
>
> >  //Задаем цикл.
> >     s:=memorystream.create;
> >     //В цикле сохраняем в поток s картинку SaveToStream(S).
>
> >
> >     s.Free;
> >     //закрываем цикл.
>
>
> Тоже самое - OutOfMemory
>

Ну тогда приведи наконец реальный код, который даёт ошибку!
Ну сколько же можно нам тут "телепатировать"?!


alex_sz   (2006-10-05 03:16:00) [43]


>  //Задаем цикл.
>     s:=memorystream.create;
>     //В цикле сохраняем в поток s картинку SaveToStream(S).
>
>     s.Free;
>     //закрываем цикл.


Тоже самое - OutOfMemory


Германн   (2006-10-05 03:11:00) [44]


> alex_sz   (05.10.06 02:51) [4]
>
> Запись в поток без перегрузки памяти
>

И вот опять яркий пример неумения задать правильный вопрос. Р.Шэкли идёт на север! :-)
<Telepator on>
    //Задаем цикл.
    s:=memorystream.create;
    //В цикле сохраняем в поток s картинку SaveToStream(S).
    s.Free;
    //закрываем цикл.
<Telepator off>


alex_sz   (2006-10-05 03:06:00) [45]

Но веть я потом ее стираю. Пробовал и free и destroy - все равно перегружается.


Джо   (2006-10-05 03:04:00) [46]

> [4] alex_sz   (05.10.06 02:51)
> Запись в поток без перегрузки памяти

При чем здесь "перегрузка памяти"? Ты пишешь в память, разумеется, растет ее использование.


alex_sz   (2006-10-05 02:51:00) [47]

Запись в поток без перегрузки памяти


Джо   (2006-10-05 02:48:00) [48]

> [2] alex_sz   (05.10.06 02:46)
> А не подскажите как грамотнее это реализовать

Что реализовать-то?


alex_sz   (2006-10-05 02:46:00) [49]

А не подскажите как грамотнее это реализовать?


Ketmar   (2006-10-05 02:40:00) [50]

ну а чего ты хотел? если ты постоянно пишешь в memory stream, натурально, этот стрим жрёт всё больше memory. %-)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо