STATIC (Klausel)

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » S » STATIC (Klausel)

Syntax: { SUB | FUNCTION } Bezeichner (Parameterliste) [AS Typ] STATIC
Typ: Klausel
Kategorie: Programmablauf

Als Klausel bei Prozeduren bewirkt STATIC, dass die Werte aller in der Prozedur lokal dimensionierten Variablen zwischengespeichert werden; das bedeutet, dass nach einem Aufruf die Belegung der Variablen innerhalb der Prozedur erhalten bleibt.

Siehe SUB bzw. FUNCTION zu Details zu den weiteren Syntax-Bestandteilen.

Beispiel:

DECLARE SUB Std_Sub
DECLARE SUB Sta_Sub

PRINT "Standard-Sub:"
Std_Sub
Std_Sub
PRINT

PRINT "STATIC-Sub:"
Sta_Sub
Sta_Sub

SLEEP

SUB Std_Sub
   DIM a AS INTEGER
   a += 1
   PRINT a
END SUB

SUB Sta_Sub STATIC
   DIM a AS INTEGER
   a += 1
   PRINT a
END SUB

Ausgabe:

Standard-Sub:
 1
 1

STATIC-Sub:
 1
 2

Unterschiede zu früheren Versionen von FreeBASIC:
Bis FreeBASIC v0.17 war es auch zulässig, das STATIC-Schlüsselwort links vom Prozedur-Header zu platzieren (STATIC SUB Name); seit v0.17 ist diese Form allerdings ungültig.

Siehe auch:
STATIC (Anweisung), STATIC (Schlüsselwort), STATIC (UDT), STATIC (Meta), DECLARE, SUB, FUNCTION, Prozeduren