PRIVATE Variable
PRIVATE Variablen werden dynamisch erzeugt und "entsorgt".
Eine PRIVATE Variable kann auf zwei verschiedenen Wegen erzeugt werden:
- durch die (ausführbare!) Anweisung "PRIVATE cVar" - durch eine Wertzuweisung "cVar := 'Heute'"
In beiden Fällen wird eine Variable mit dem Namen cVar erzeugt.
Eine PRIVATE Variable ist an ihre Position im Call-Stack gebunden.
FUNCTION Main() ProcA() ProcB() RETURN(.T.) FUNCTION ProcA() ProcC() ... RETURN(.T.) FUNCTION ProcB() ProcC() ... RETURN(.T.) FUNCTION ProcC() cVar := "Hugo" RETURN(.T.)
cVar wird das erste Mal in folgender Aufruf-Konstellation (= Call-Stack) angesprochen:
Main +---> ProcA
- +---> ProcC
cVar wird in ProcC erzeugt und ist in dem Moment, in dem ProcC durch die RETURN-Anweisung verlassen wird, nicht mehr "adressierbar".
Wenn später über ProcB ein weiterer Aufruf von ProcC erfolgt, wird eine neue (!) PRIVATE Variable erzeugt:
Main +---> ProcB
- +---> ProcC
Auch für diese Variable endet ihre Lebenszeit, wenn ProcC mit RETURN verlassen wird.