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

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

TMemoryStream (ограничения)


ProgRAMmer Dimonych ©   (2007-11-05 13:59:00) 

Насколько я могу судить, максимальный объём TMemoryStream'а составляет что-то в районе 4 ГБ (теоретически). А как оно вообще на практике? Наткнулся в интернете на статейку, где написано, что TMemoryStream может глючить при больших объёмах памяти.

Есть файл, в который специальным образом загоняется большое количество графических и звуковых файлов, т.е. объём может быть достаточно большим.Что вообще в этом случае предпочтительнее использовать для сохранения изменений: TMemoryStream, в котором накапливается информация, а потом Stream.SaveToFile(), или TFileStream? Желательно рассчитывать на не очень-то мощные компьютеры.


Anatoly Podgoretsky   (2007-11-05 15:55:00) [1]

> ProgRAMmer Dimonych  (05.11.2007 14:28:04)  [4]

А ты чего не думаешь?
Ты это зря.


ProgRAMmer Dimonych   (2007-11-05 14:28:00) [2]

> Anatoly Podgoretsky ©   (05.11.07 14:24) [3]

Т.е. о размерах файла всё-таки надо задумываться? И о вопросе выбора между TMemoryStream+SaveToFile и TFileStream, если можно?


Anatoly Podgoretsky   (2007-11-05 14:24:00) [3]

> ProgRAMmer Dimonych  (05.11.2007 14:22:02)  [2]

Неверна практика, Дельфи не позволяет для пользовательских данных и программы свыше 2 гб.
Но какое это отношение имеет к TMemoryStream, у него есть операции чтения блоков.


ProgRAMmer Dimonych   (2007-11-05 14:22:00) [4]

> Anatoly Podgoretsky ©   (05.11.07 14:16) [1]

Так то ж теория. На практике 4 ГБ ОЗУ, адресуемые 4 байтами, - это скорее исключение, чем правило (на нормальных компах, не серверах), а значит может, наверное, отразиться на работе программы. Быстродействие опять же.

> Что вообще в этом случае предпочтительнее использовать для
> сохранения изменений: TMemoryStream, в котором накапливается
> информация, а потом Stream.SaveToFile(), или TFileStream?
>  Желательно рассчитывать на не очень-то мощные компьютеры.


Anatoly Podgoretsky   (2007-11-05 14:16:00) [5]

> ProgRAMmer Dimonych  (05.11.2007 13:59:00)  [0]

TMemoryStream.Memory - pointer
TMemoryStream.Size - Int64


Наверх

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