Referenz - OPTION
Syntax: OPTION Programmstandard
Typ: Anweisung
Kategorie: Programmoptionen
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 compiliert wurden! Wird mit FreeBASIC v0.17 unter der Option -lang fb compiliert, so ist OPTION nicht mehr zulässig!
'Programmstandard' ist eines der folgenden Schlüsselwörter:
- BASE
- PRIVATE (Schlüsselwort)
- BYVAL (Schluesselwort)
- DYNAMIC (Schlüsselwort) oder STATIC (Schlüsselwort)
- EXPLICIT
- ESCAPE
- GOSUB
- NOGOSUB
- NOKEYWORD
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 compilieren 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 ist nur OPTION BASE möglich.
Unterschiede zu früheren Versionen von FreeBASIC:
- Rufen Sie bitte die einzelnen Einträge auf, um die Versionsunterschiede für die verschiedenen Standards im Speziellen einzusehen.
- Seit FreeBASIC v0.17 können Programmstandards nur noch dann mit OPTION festgelegt werden, wenn die Kommandozeilenoption -lang deprecated angegeben wurde. Soll mit -lang fb compiliert werden, ist es nicht mehr erlaubt, OPTION zu benutzen. Sehen Sie bitte die einzelnen Schlüsselwörter ein, um entsprechende Walkarounds nachzulesen.
- Seit FreeBASIC v0.14 gelten Programmstandards auch, wenn sie in Dateien festgelegt wurden, die per #INCLUDE eingebunden wurden.
Siehe auch:
Option(), Verschiedenes
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|