Данная функция обеспечивает информацией о том, как завершился процесс создания Отчета, нормально или аварийно.

SYS(2024)

Параметры

Нет.

Expand imageВозвращаемое значение

Символьное. Возвращается "Y", если процесс получения текущего Отчета был прерван. Возвращается символ "N", если нет текщего отчета или процесс получения текущего отчета не прерывался.

Expand imageКомментарии

Отчет считается "прерванным" при работе подсистемы Visual FoxPro Report System, если происходит следующая ситуация:

  1. Отчет (Report) запущен в объектно-ориентированном режиме. В оьбъекте ReportListener запускается метод CancelReport до момента полного получения Отчета. См. дополнительно раздел: метод CancelReport .

  2. Пользователь нажал клавишу ESC или кнопку Cancel в режиме совместимости с младшими версиями. Когда это происходит, функция SYS(2024) может вернуть неверное значение, характеризующее внутреннее состояние Report Engine .

  3. Возникает программная ошибка в процессе получения Отчета, ошибка может быть в пользовательской функции или пользовательском методе объекта ReportListener, и пользователь выбирает кнопку Cancel в соответствующем диалоговом боксе обработчика Ошибок.

В процессе аварийного завершения получения Отчета функция SYS(2024) продолжает возвращать значение "Y" до тех пор пока завершается обработка всех соответствующих событий Отчета. Функция вернет значение "N" после обработки (завершения) события UnloadReport. См. дополнительно: событие UnloadReport .

Expand imageПример

В представленном примере, при использовании класса utilityReportListener , который отвечает за процедуры обработки файлов, выполняется обработка возможных ошибок при получении отчетов. Когда соответствующий файл закрывается, выполняется контроль ситуации: как завершился процесс получения Отчета, в зависимости от этого используется функция SYS(2024) для определения результирующего сообщения пользователю о Результате получения Отчета. См. дополнительно раздел: Базовый класс ReportListener Utility and File-handling .

  CopyCode imageКопировать Код
* excerpted from 
* utilityReportListener.closeTargetFile method
IF THIS.HadError
THIS.DoMessage(OUTPUTCLASS_CREATEERRORS_LOC, ;
MB_ICONEXCLAMATION )
ELSE
THIS.DoMessage( OUTPUTCLASS_SUCCESS_LOC + ;
IIF(SYS(2024)="Y", ;
CHR(13)+OUTPUTCLASS_REPORT_INCOMPLETE_LOC,""),;
MB_ICONINFORMATION)
ENDIF

Expand imageСм. также