From QB64.org wiki
The FREEFILE function returns a LONG value that is an unused file access number.
- fileHandle& = FREEFILE
- FREEFILE values should be given to unique variables so that each file has a specific variable value assigned to it.
- Once the number is assigned in an OPEN statement, the file number can later be used to read, write or CLOSE that file.
- File numbers CLOSEd are made available to FREEFILE for reuse immediately.
- FREEFILE returns are normally sequential starting with 1. Only file numbers in use will not be returned.
- OPEN each file number after each FREEFILE return or the values returned may be the same.