'Слишком большое смещение в перемещаемом блоке',

'Размер перемещаемого блока больше 1 Мбайт',

'Источник и приемник связаны с одним дескриптором и частично перекрываювся',

'Недопустимый тип памяти источника или приемника',

'Неопознанная ошибка',

'Нет аппаратной поддержки альтернативной установки страниц',

•Исчерпаны все допустимые установки альтернативных регистров',

'Не поддерживается установка альтернативных регистров",

'Неправильная установка альтернативных регистров',

'Назначенные каналы прямого доступа к памяти (КПДП) не поддерживаются',

'Указанный КПДП не поддерживается',

'Дескриптор не поименован',

'Указанное имя дескриптора уже существует',

•Источник выходит за границу 1 Мбайт',

'Содержимое указанное области данных разрушено',

'Нет доступа к указанной функции',

"Нет ЕМЗ-памяти или не установлен драйвер EMM.SXS',

'Неверный формат файла',

'Ошибка при чтении объекта из файла',

'Ошибка при записи объекта в файл',

"Попытка чтения за границей доступной ЕМЗ-памяти"^

'Попытка записи за границей доступной ЕМЗ-памяти"у

'Неверные границы индексов',

'Размер элемента вектора не соответствует длине переменной',

'Изменен режим работы дисплея (объект TEMSScreen)>

);

begin

if NError»0 then begin

EMSErrorFlag :» False;

Exit end;

EMSErrorFlag := True;

if NError in [?80..$AD] then

WriteLn(Msg[NError)) else

WriteLn('Ошибка номер ',NError) end; {TEMSArea.EMSError} {---—---— Одномерный массив s JEMS -———----;

Constructor TEMSVector.Init(ASize,Min,Max: LongInt);

{Создает объект TEMSVector:

ASize - размер элементов пассива в байтах;

Min,Max - границы индекса.} var

Sz: LongInt;

begin

if Min>Max then begin

EMSError($AB); {Неправильные границы} Exit end;

Sz := ASize*(Max-Min+1); {Определяем размер} TEMSArea.Init(Sz); {Создаем TEMSArea} if not EMSErrorFlag then begin

ItemS := ASize;

Minind := Min;

Maxind := Max end end; {TEMSVector,lait}