OPTION

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » O » OPTION

Syntax: OPTION Programmstandard
Typ: Anweisung
Kategorie: Programmorganisation

OPTION setzt verschiedene Standards in Ihrem Programm. Die Anweisung kann nur bis FreeBASIC v0.16 eingesetzt werden, oder in entsprechend höheren Versionen, die mit der Kommandozeilenoption -lang deprecated kompiliert wurden! Wird mit FreeBASIC v0.17 unter der Option -lang fb kompiliert, so ist OPTION nicht mehr zulässig!

'Programmstandard' ist eines von diesen Schlüsselwörtern:

Dieser Befehl sollte nicht mit Option() verwechselt werden, siehe Option()

OPTION-Zeilen sollten die ersten Zeilen Ihres Programms darstellen, da eine Änderung eines Standards während des Programmverlaufs zu Problemen führen kann. Dieses Beispiel verdeutlicht die Problematik:

DECLARE SUB s1 (a AS INTEGER)

OPTION BYVAL

DECLARE SUB s2 (b AS INTEGER)

SUB s1(a AS INTEGER)
END SUB

SUB s2(a AS INTEGER)
END SUB

Der Versuch, dieses Programm zu kompilieren würde fehlschlagen. Während der Zeile

DECLARE SUB s1 (a AS INTEGER)

gilt OPTION BYVAL noch nicht; in dieser Zeile wird also noch angenommen, dass der Parameter 'a' BYREF übergeben wird. Der zugehörige Sub-Header

SUB s1(a AS INTEGER)

wird allerdings schon durch OPTION BYVAL beeinflusst; hier wird angenommen, dass 'a' BYVAL übergeben werden soll. Aufgrund des Unterschieds zwischen Deklarationszeile und Prozedurkopf gibt der Compiler die Fehlermeldung

error 55: Type mismatch, at parameter 1 (a) of s1()
SUB s1 (a As Integer)

aus.

Unterschiede zu QB:
Unter QB war nur OPTION BASE möglich.

Unterschiede zu früheren Versionen von FreeBASIC:

Siehe auch:
Option()