Добрый день. Стоит задача записи данных на FLASH карту с помощью библиотеки OwenLibFileAsyn*c, с записью и чтением разобрался но возникла проблема с функцией OwenFileEOFAsync(handle,ADR(End_file)). Из описания она должна возвратить значение TRUE если файл закончился но этого не происходит, хотя прочитал уже весь файл.

Код:
CASE Status_read_file OF
			0:
				Descriptor_Open_File:= OwenFileOpenAsync('usb:test.txt','r', ADR(handle));
				IF Descriptor_Open_File=ASYNC_WORKING THEN
    					Status_read_file:=1;
				ELSIF Descriptor_Open_File=ASYNC_BLOCK_ACCESS THEN
						(*Descriptor_Close_File:=OwenFileCloseAsync(handle,ADR(result));*)
						Status_read_file:=10;
				END_IF
			1:
				Descriptor_Open_File:= OwenFileOpenAsync('usb:test.txt','r', ADR(handle));
				IF Descriptor_Open_File=ASYNC_DONE THEN
					IF handle<>0 THEN
						Status_read_file:=2;
					ELSE
						Status_read_file:=0;
						Descriptor_Close_File:=OwenFileCloseAsync(handle,ADR(result));
					END_IF
				ELSIF Descriptor_Open_File<0 THEN
						Status_read_file:=0;
				END_IF
			2:
				Descriptor_Read_File := OwenFileReadAsync(handle, ADR(READ_DATA), 40, ADR(Descriptor_Read_Result));
				IF Descriptor_Read_File=ASYNC_WORKING THEN
					Status_read_file:=3;
				ELSIF Descriptor_Read_File=ASYNC_BLOCK_ACCESS  THEN
					Status_read_file:=10;
				END_IF

			3:
				Descriptor_Read_File := OwenFileReadAsync(handle, ADR(READ_DATA), 40, ADR(Descriptor_Read_Result));
				IF Descriptor_Read_File=ASYNC_DONE THEN
					Status_read_file:=4;
					(*IF result=SIZEOF(Temp_write1) THEN
						Status_write_file:=4;
					ELSE
						Status_write_file:=6;
					END_IF*)
					ELSIF Descriptor_Read_File<0 THEN
						Status_read_file:=5;
				END_IF
			4:
				Descriptor_EOF := OwenFileEOFAsync(handle,ADR(End_file));
				IF Descriptor_EOF = ASYNC_WORKING THEN
					Status_read_file:=5;
				END_IF
			5: 
				Descriptor_EOF := OwenFileEOFAsync(handle,ADR(End_file));
				IF Descriptor_EOF = ASYNC_DONE THEN
					IF End_file THEN (*Смотрим возвращаемое значение, если TRUE то заканчиваем читать файл*)
					Status_read_file:=99;
					ELSE
					Status_read_file:=3;
					END_IF
				ELSIF Descriptor_EOF < 0 THEN
					Status_read_file:=6;
				END_IF

			END_CASE;