Ausführbare und nicht ausführbare Deklarationen

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Zur Navigation springen Zur Suche springen

nicht ausführbare Deklarationen

Die Anweisungen LOCAL, STATIC und FIELD sind Anweisungen für den Compiler und können nur zur Compile-Zeit ausgewertet werden.

Sie müssen (für STATIC) im Programm vor jeder ausführbaren Anweisung, bzw. in Funktionen (gilt für alle drei) vor jeder ausführbaren Anweisung geschrieben werden.

Der Compiler wertet die Deklarationen aus und erzeugt entsprechende Verweise für diese Variablen.


ausführbare Deklarationen

PUBLIC und PRIVATE sind ausführbare Anweisungen und können an jeder beliebigen Stelle im Programm-Code auftauchen, nicht jedoch ausserhalb von Funktionen:

PUBLIC cIrgendWas
FUNCTION Main()
   ...
RETURN(.T.)

wird vom Compiler mit dieser Fehlermeldung quittiert:

warning XBT0106: Procedure MAIN does not end with RETURN
error XBT0247: Redefinition of function or procedure Main

Da die PUBLIC Anweisung vor der ersten Funktion erscheint, versucht der Compiler, implizit eine Funktion MAIN zu erzeugen, die jedoch nicht mit RETURN endet, und die tatsächliche Funktion MAIN wird damit zu einer Redefinition.

Grund: eine PUBLIC oder PRIVATE Anweisung, die ausserhalb von Funktionen steht, kann nicht ausgeführt werden und ist somit sinnlos.