5. Если во время выполнения запроса возникает ошибка, а значение переменной Error равно нулю, то генерируется внутренняя ошибка 705 — ошибка исполнения контрастера, управление передается обработчику ошибок, а обработка запроса прекращается.
6. Если во время выполнения запроса возникает ошибка, а значение переменной Error не равно нулю, то обработка запроса прекращается.
Описание запроса:
Pascal:
Function ContrastExample(TheEnd: Logic): Logic;
C:
Logic ContrastExample(Logic TheEnd)
Описание аргумента:
TheEnd — значение аргумента имеет следующий смысл: ложь — обработан еще один пример обучающего множества при обучении по всему задачнику в целом.
Назначение — извлекает из сети необходимые для вычисления показателей значимости параметры.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Вызывает функцию, адрес которой хранится в переменной ContrastFunc, передавая ей аргумент TheEnd в качестве аргумента.
3. Если функция ContrastFunc возвращает значение ложь, а значение переменной Error равно нулю, то генерируется внутренняя ошибка 705 — ошибка исполнения контрастера, управление передается обработчику ошибок, а обработка запроса прекращается.
4. Если функция ContrastFunc возвращает значение ложь, а значение переменной Error не равно нулю, то обработка запроса прекращается.
5. Запрос в качестве результата возвращает возвращенное функцией ContrastFunc значение.
В данном разделе описаны запросы позволяющие, загрузить контрастер с диска или из памяти, выгрузить контрастера и сохранить текущего контрастера на диске или в памяти.
Описание запроса:
Pascal:
Function cnAdd(CompName: PString): Logic;
C:
Logic cnAdd(PString CompName)
Описание аргумента:
CompName — указатель на строку символов, содержащую имя файла компонента или адрес описания компонента.
Назначение — читает контрастера с диска или из памяти.
Описание исполнения.
1. Если в качестве аргумента CompName дана строка, первые четыре символа которой составляют слово File, то остальная часть строки содержит имя компонента и после пробела имя файла, содержащего компонент. В противном случае считается, что аргумент CompName содержит указатель на область памяти, содержащую описание компонента в формате для записи на диск. Если описание не вмещается в одну область памяти, то допускается включение в текст описания компонента ключевого слова Continue, за которым следует четыре байта, содержащие адрес следующей области памяти.
2. Если в данный момент загружен другой контрастер, то выполняется запрос cnDelete. Контрастер считывается из файла или из памяти.
3. Если считывание завершается по ошибке, то возникает ошибка 702 — ошибка считывания контрастера, управление передается обработчику ошибок, а обработка запроса прекращается.
Описание запроса:
Pascal:
Function cnDelete: Logic;
C:
Logic cnDelete
Аргументов нет.
Назначение — удаляет загруженного в память контрастера.
Описание исполнения.
1. Если список в момент получения запроса контрастер не загружен, то возникает ошибка 701 — неверное имя контрастера, управление передается обработчику ошибок, а обработка запроса прекращается.
Описание запроса:
Pascal:
Function cnWrite(Var FileName: PString): Logic;
C:
Logic cnWrite(PString* FileName)
Описание аргументов:
CompName — указатель на строку символов, содержащую имя контрастера.
FileName — имя файла или адрес памяти, куда надо записать контрастера.
Назначение — сохраняет контрастера в файле или в памяти.
Описание исполнения.
1. Если в момент получения запроса контрастер не загружен, то возникает ошибка 701 — неверное имя контрастера, управление передается обработчику ошибок, а обработка запроса прекращается.
2. Если в качестве аргумента FileName дана строка, первые четыре символа которой составляют слово File, то остальная часть строки содержит имя файла, для записи компонента. В противном случае FileName должен содержать пустой указатель. В этом случае запрос вернет в нем указатель на область памяти, куда будет помещено описание компонента в формате для записи на диск. Если описание не вмещается в одну область памяти, то в текст будет включено ключевое слово Continue, за которым следует четыре байта, содержащие адрес следующей области памяти.
3. Если во время сохранения компонента возникнет ошибка, то возникает ошибка 703 — ошибка сохранения контрастера, управление передается обработчику ошибок, а обработка запроса прекращается.
К этой группе запросов относится запрос, который инициирует работу не рассматриваемого в данной работе компонента — редактора контрастера.