Referenz - INCLUDE (Meta)
Syntax A: #INCLUDE [ONCE] "Datei"
Syntax B: '$INCLUDE [ONCE]: 'Datei'
Typ: Metabefehl
Kategorie: Metabefehle
#INCLUDE bindet Programmcode aus einer anderen Quellcodedatei ein. Dies hat zur Folge, dass der eingebundene Code beim Compilieren so behandelt wird, als stünde er an der Stelle, an der sich im echten Code #INCLUDE befindet. Dadurch lässt sich ein Programm in mehrere Teile zerlegen, wodurch es übersichtlicher wird.
- 'Datei' ist der Dateiname des einzubindenden Codes, eventuell mit Pfadangabe. Wenn kein Pfad angegeben wird, sucht FreeBASIC zuerst im aktuellen Arbeitsverzeichnis, dann im Verzeichnis, in dem sich der Quellcode befindet, und schließlich in den System-Include-Verzeichnissen nach der einzubindenden Datei.
- Sowohl Slashes (/) als auch Backslashes (\) werden als Pfad-Trennzeichen akzeptiert.
- 'ONCE' verhindert, dass Daten doppelt eingebunden werden. Dies kann geschehen, wenn eingebundene Dateien ebenfalls INCLUDE-Befehle enthalten.
Beispiel:
#INCLUDE ONCE "vbcompat.bi"
Im Gegensatz zu QB können in per #INCLUDE eingebundene Daten auch 'ausführbare' Befehle enthalten sein.
Es hat sich durchgesetzt, Deklarationsdateien (Dateien, die lediglich COMMON/DIM [SHARED]-, DECLARE-, oder TYPE-Anweisungen enthalten) mit der Erweiterung BI zu kennzeichnen. BIs werden oft eingesetzt, um die Prozeduren einer LIB/DLL zu deklarieren.
Das maximale Rekursionslevel liegt bei 16, d. h. dass bei einem Code, der einen weiteren einbindet, der einen weiteren einbindet etc. nach 16 Dateien die Grenze erreicht ist, bei dem der Compiler aufhört zu suchen. Eine solch tiefe Verschachtelung ist allerdings unüblich.
Achtung:
Seit FreeBASIC v0.14 werden ESCAPE-Chars in #INCLUDE-Anweisungen nicht mehr interpretiert.
Unterschiede zu QB:
- Wenn der Pfadname einen Unterstrich enthält, müssen doppelte Anführungsstriche statt einfacher verwendet werden.
- Es können auch 'echte' BAS-Files eingebunden werden, die auch 'ausführbare' Anweisungen enthalten.
- Das Schlüsselwort 'ONCE' steht zur Verfügung.
Unterschiede zu früheren Versionen von FreeBASIC:
- Die Variante '$INCLUDE ist seit FreeBASIC v0.17 nicht mehr zulässig.
- Escape-Chars werden seit FreeBASIC v0.14 in INCLUDE-Anweisungen nicht mehr interpretiert.
Siehe auch:
INCLIB, Präprozessor-Anweisungen
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|