138 Глава 5

$92

Источник и приемник информации одновременно находятся в EMS—памяти

$93

Размер приемника информации слишком мал

$94

Стандартная память частично перекрывает отображаемую память

$95

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

$96

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

$97

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

$98

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

$99

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

$9А

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

$9В

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

$9С

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

$9D

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

$9E

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

$9F

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

$AO

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

$А1

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

$А2

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

$АЗ

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

$А4

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

$А5

Нет EMS—памяти или не установлен драйвер EMM.SYS

$А6

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

$А7

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

$А8

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

$А9

Попытка чтения за границей доступной BMS— памяти

$АА

Попытка записи за границей доступной HMS — памяти

$АВ

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

$АС

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

$AD

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


Если при обращении к методу указана ошибка, выходящая за диапазон $80..$AD, выдается сообщение

Ошибка номер XXX

ReadEMS Procedure ReadEMS (Source: Longint; var Dest; Sz:

Longint); Virtual;

Перекрывается: Никогда

Этот метод обеспечивает низкоуровневый интерфейс с EMS— памятью для чтения данных из нее в переменную Dest. Параметр Source определяет номер байта отображаемой памяти, с которого начинается обмен данными (самый первый байт соответствует Source=0). Sz определяет общее количество передаваемых байт. Dest — переменная иди участок кучи, куда будет помещена прочитанная из EMS— памяти информация. Фактически метод осуществляет обмен данными порциями, не превышающими 16 Кбайт, однако разбивка всего массива на эти порции и картирование нужных страниц EMS— памяти делается внутри метода и вызывающая программа не должна об этом заботиться.

Load Constructor Load (var F: File) ;

С помощью этого метода программа может прочитать из файла F объект TEMSArea, ранее записанный в файл методом Store, файл F должен быть нетипизированным файлом. Перед обращением к методу его следует открыть, указав длину блока в 1 байт. Позиционирование указателя внутри файла должно осуществляться в вызывающей программе. Вначале метод читает из файла заголовок объекта — строку,