If Not EraseArray(DirectMap) Then;
QName = "CloseSession"; {Задаем имя запроса}
Map = NewArray(mRealArray, 1); {Создаем массив для аргументов запроса}
If Map = Null Then GoTo Exit1;
TPointer(Map^[1]) = @Handle; {Заносим адрес единственного аргумента}
If Not GenerateQuest(@QName, Map) Then;{Открываем сеанс работы с задачником}
If Not FreeArray(mRealArray, Map) Then; {Освобождаем массив для аргументов}
Exit1:
End
End Instructor
Стандарт второго уровня компонента учитель
Компонент учитель одновременно работает только с одним учителем. Запросы к компоненту учитель можно разбить на следующие группы.
1. Обучение сети.
2. Чтение/запись учителя.
3. Инициация редактора учителя.
4. Работа с параметрами учителя.
Обучение сети
К данной группе относятся три запроса — обучить сеть (InstructNet), провести N шагов обучения (NInstructSteps) и прервать обучение (CloseInstruction).
Описание запроса:
Pascal:
Function InstructNet: Logic;
C:
Logic InstructNet
Аргументов нет.
Назначение — производит обучение сети.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в момент получения запроса учитель не загружен, то возникает ошибка 601 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.
3. Выполняется главная процедура загруженного учителя.
4. Если во время выполнения запроса возникает ошибка, а значение переменной Error равно нулю, то генерируется внутренняя ошибка 605 — ошибка исполнения учителя, управление передается обработчику ошибок, а обработка запроса прекращается.
5. Если во время выполнения запроса возникает ошибка, а значение переменной Error не равно нулю, то обработка запроса прекращается.
Описание запроса:
Pascal:
Function NInstructNet(N: Integer): Logic;
C:
Logic NInstructNet(Integer N)
Описание аргумента:
N — число выполнений блока одного шага обучения сети.
Назначение — производит обучение сети.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в момент получения запроса учитель не загружен, то возникает ошибка 601 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.
3. Выполняется блок инициации главной процедуры загруженного учителя, N раз выполняется блок одного шага обучения, выполняется блок завершения обучения.
4. Если во время выполнения запроса возникает ошибка, а значение переменной Error равно нулю, то генерируется внутренняя ошибка 605 — ошибка исполнения учителя, управление передается обработчику ошибок, а обработка запроса прекращается.
5. Если во время выполнения запроса возникает ошибка, а значение переменной Error не равно нулю, то обработка запроса прекращается.
Описание запроса:
Pascal:
Function CloseInstruction: Logic;
C:
Logic CloseInstruction
Аргументов нет.
Назначение — прерывает обучение сети.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в момент получения запроса учитель не загружен, то возникает ошибка 601 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.
3. Если в момент получения запроса не выполняется ни один из запросов обучить сеть (InstructNet) или провести N шагов обучения (NInstructSteps), то возникает ошибка 606 — неверное использование запроса на прерывание обучения, управление передается обработчику ошибок, а обработка запроса прекращается.
4. Завершается выполнение текущего шага обучения сети.
5. Выполняется блок завершения обучения сети.
6. Если во время выполнения запроса возникает ошибка, а значение переменной Error равно нулю, то генерируется внутренняя ошибка 605 — ошибка исполнения учителя, управление передается обработчику ошибок, а обработка запроса прекращается.
7. Если во время выполнения запроса возникает ошибка, а значение переменной Error не равно нулю, то обработка запроса прекращается.
Чтение/запись учителя
В данном разделе описаны запросы, позволяющие загрузить учителя с диска или из памяти, выгрузить учителя и сохранить текущего учителя на диске или в памяти.
Описание запроса:
Pascal:
Function inAdd(CompName: PString): Logic;
C:
Logic inAdd(PString CompName)
Описание аргумента: