|
|
|
---|
    TEmsStream - это специализированный производный от TStream тип для реализации потоков в памяти EMS. Он предусматривает дополнительные поля для описателя EMS, счетчика страниц и текущей позиции. TEmsStream переопределяет 6 абстрактных методов TStream, а также обеспечивает специализированный конструктор и деструктор.
    При отладке программы, использующей потоки EMS, интегрированная интерактивная среда IDE не может восстановить выделенную вашей программе память EMS, если программа преждевременно прекратила работу, или вы забыли вызвать для потока EMS деструктор Done. Освободить принадлежащие потоку страницы EMS может только метод Done (или перезагрузка).
    Описатель EMS для потока.
    Число выделенных для потока страниц (16К на страницу).
    Текущая позиция в потоке. Первая позиция - это 0.
    Размер потока в байтах.
    Ниже описываются методы, определенные в данном объекте.
    Создает поток EMS с заданным минимальным и максимальным
размером в байтах. Вызывает TStream.Init, затем устанавливает
Handle, Size и PageCount. Если инициализация завершается
неудачно, вызывает Error с аргументом stInitError.
    См. также: TEmsStream.Done.
    Уничтожает поток EMS и освобождает используемые страницы
EMS.
    кже: TEmsStream.Init
    Возвращает значение текущей позиции в потоке.
    См. также: TEmsStream.S
    Возвращает общий размер потока.
    Считывает Count байт в буфер Buf, начиная с текущей позиции
потока.
    См. также: TEmsStream.Write, stReadError.
    Переустанавливает текущую позицию в Pos байт от начала
потока.
    См. также: TEmsStream.GetPos, TEmsStream.GetSize.
Поля
Handle: Word;
PageCount: Word;
Position: Longint;
Size: Longint;
Методы
Init
constructor Init(MinSize, MaxSize: Longint);
Done (никогда не переопределяется)
destructor Done; virtual;
GetPos (никогда не переопределяется)
function GetPos: Longint; virtual;
GetSize (никогда не переопределяется)
function GetSize: Longint; virtual;
Read (никогда не переопределяется)
procedure Read(var Buf; Count: Word); virtual;
Seek (никогда не переопределяется)
procedure Seek(Pos: Longint); virtual;