The low level File IO functions in the X# runtime are using .Net filestreams in the background. |
That means that the file handles returned by FOpen() and FCreate() are not 'normal' file handles, but unique identifiers that are used to find the underlying stream object in a collection of streams in the runtime.
That also means that you can't use file handles for functions such as FRead() and FWrite() that were not created in the X# runtime.
If you want to access the underlying FileStream, then you should call the function FGetStream()
1LOCAL ptrHandle AS PTR 2ptrHandle := FOpen("docu.txt") 3FSeek(ptrHandle, 101) 4? FEOF(ptrHandle)
1ptrHandle := FOpen2("docs.txt", FO_READ) 2IF ptrHandle != F_ERROR 3 DO WHILE !FEOF(ptrHandle) 4 ? FReadLine2(ptrHandle, 80) 5 ENDDO 6ENDIF 7FClose(ptrHandle)