SysLibFile дает ту же ошибку (f_handle = 0):
Код:CASE f_work OF F_OPEN: (*открыть файл на запись*) (* res := OwenFileOpenAsync(arc_filename, 'a', ADR(f_handle)); *) (*заменил асинхронный вызов на синхронный*) f_handle := SysFileOpen(arc_filename, 'a'); res := ASYNC_DONE; F_CLOSE: (*закрыть файл*) res := OwenFileCloseAsync(f_handle, ADR(f_result)); F_WRITE: (*записать в файл*) res := OwenFileWriteAsync(f_handle, ADR(arc_buff), SIZEOF(arc_buff), ADR(f_result)); END_CASE CASE res OF ASYNC_WORKING: (*wait*) ; ASYNC_DONE: CASE f_work OF F_OPEN: IF f_handle = 0 THEN f_err := TRUE; ELSE FILE_OPENED := TRUE; END_IF F_CLOSE: FILE_OPENED := FALSE; F_WRITE: ; END_CASE f_work := F_NONE; ; ASYNC_PAUSED, (*Система по своим внутренним причинам приостановила обработку асинхронных запросов*) ASYNC_QUERY_FULL, (*>5 запросов в очереди*) ASYNC_BLOCK_ACCESS, (*Запрос к уже обрабатываемому объекту с другой функцией*) ASYNC_GENERAL_ERROR, ASYNC_INVALID_HANDLE_ERROR: (*Запрос к неоткрытому/открытому не через асинхронную библиотеку файлу*) f_work := F_NONE; END_CASE




Ответить с цитированием