Ausführbare und nicht ausführbare Deklarationen: Unterschied zwischen den Versionen

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „ == nicht ausführbare Deklarationen == Die Anweisungen LOCAL, STATIC und FIELD sind Anweisungen für den Compiler und können nur zur Compile-Zeit ausgewerte…“)
 
(kein Unterschied)

Aktuelle Version vom 28. Mai 2013, 12:55 Uhr

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.