PRIVATE Variable

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Version vom 15. Mai 2013, 09:55 Uhr von Georg (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „PRIVATE Variablen werden dynamisch erzeugt und "entsorgt". Eine PRIVATE Variable kann auf zwei verschiedenen Wegen erzeugt werden: - durch die (ausführbare!…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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.