1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-16 20:05:14 +00:00
qb64/internal/help/Handle.md

28 lines
1.8 KiB
Markdown
Raw Normal View History

In QB64 **handles** are created and used by various statements and functions to reference screen surfaces, images, sounds, fonts and IP users.
## Syntax
> **handle& =** _NEWIMAGE(800, 600, 32)
> _FREEIMAGE **handle&**
## Usage
* [SCREEN](SCREEN) and image handles in use cannot be freed without error! Change screens or fonts before freeing the handle from memory!
* The actual value of the handle is only important if it fails to return a value in the range specified. **A bad return value may create errors!**
## Handle Functions
* Image: [_NEWIMAGE](_NEWIMAGE) creates a screen surface, [_LOADIMAGE](_LOADIMAGE) holds a file image and [_FREEIMAGE](_FREEIMAGE) releases valid handles from memory.
- Valid [LONG](LONG) handle returns are less than -1. Failed [_LOADIMAGE](_LOADIMAGE) handle values of -1, zero or positive values are invalid.
* TCP/IP: [_OPENHOST](_OPENHOST), [_OPENCLIENT](_OPENCLIENT) and [_OPENCONNECTION](_OPENCONNECTION) open access and [CLOSE](CLOSE) frees negative handle values from memory.
* Memory: [_MEM (function)](_MEM-(function)) and [_MEMNEW](_MEMNEW) create memory storage areas and [_MEMFREE](_MEMFREE) MUST release those areas for other uses.
* Sound: [_SNDOPEN](_SNDOPEN) opens a sound file and [_SNDCLOSE](_SNDCLOSE) closes the file and releases valid handles above zero from memory.
* Fonts: [_LOADFONT](_LOADFONT) loads a font file and [_FREEFONT](_FREEFONT) releases valid handle values above zero from memory.
* Event: [_FREETIMER](_FREETIMER) finds a free [TIMER](TIMER) event [INTEGER](INTEGER) value which is freed by [TIMER (statement)](TIMER-(statement)) FREE.
* Files: [FREEFILE](FREEFILE) finds a free file [INTEGER](INTEGER) value which is used in [OPEN](OPEN) statements and file functions and is freed by [CLOSE](CLOSE)
## See Also
* [_SOURCE](_SOURCE), [_DEST](_DEST)