'Слишком большое смещение в перемещаемом блоке',
'Размер перемещаемого блока больше 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}