TgsMMFStream (постановка)

Материал из GedeminWiki
Перейти к: навигация, поиск

Вспомогательный класс для механизма сохранения в поток. Предназначен для замены TClientDataSet. Использует отображаемые в память файлы для хранения объемов данных, превышающих размер доступной оперативной памяти. Может работать в двух режимах: записи и считывания.

Содержание

Режим записи

  1. Создание объекта
  2. AddFieldDef для каждого поля
  3. Цикл для каждой записи:
    1. SetFromDataSetField для каждого поля
    2. Post
  4. SaveToStream
  5. Уничтожение объекта

Режим чтения

  1. Создание объекта
  2. LoadFromStream
  3. Цикл для каждой записи:
    1. SetDataSetField для каждого поля
    2. Next
  4. Уничтожение объекта

Свойства

RecordCount -- количество записей. Только для чтения. CurrentRecord -- номер текущей записи. Только для чтения. EOF -- Только для чтения.

Формат потока

Поток состоит из заголовка и данных. Заголовок содержит информацию о полях и о количестве записей. Данные -- непрерывный поток с данными всех записей. Разделителей между записями нет. Т.е. окончание записи находится там, где оканчиваются данные последнего поля в списке. Если прочитано записей меньше, чем находится в заголовке, то выдается исключение.

См. также

Managing Memory-Mapped Files in Win32

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты