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 байт. Позиционирование указателя внутри файла должно осуществляться в вызывающей программе. Вначале метод читает из файла заголовок объекта — строку,