gedacht sei folgende Konstruktion
Code: Alles auswählen
CLASS AAA
PROTECTED:
VAR z1
EXPORTED :
CLASS VAR x1 SHARED
VAR x2
INLINE METHOD Init()
INLINE METHOD Create()
INLINE METHOD Add()
LOCAL oXbp
oXbp := BBB():NEW(self)
oXbp:y1 := ::x1
oXbp:y2 := ::x2
oXbp:y3 := ::z1
oXbp:CREATE()
AADD(::alleBBB,oXbp)
oXbp:Machmal(::x1,::x2,::z1) // hm ... ???
...
RETURN oXbp
INLINE METHOD CallfromBBB(x)
...
RETURN ::z1 // hm ... ???
ENDCLASS
CLASS BBB
EXPORTED :
CLASS VAR Y1 SHARED
VAR Y2
VAR Y3
INLINE METHOD Init(oParent)
::oParent := oParent
INLINE METHOD Create()
INLINE METHOD Machmal(a,b,c)
x := a
x := b
x := c
x := ::y1
x := ::y2
x := ::y3
x := ::oParent:x1
x := ::oParent:x2
x := ::oParent:z1 -> crash
x := ::oParent:CallfromBBB(x) // ???
RETURN NIL
ENDCLASS
Frage : wie komme ich aus Class BBB an die Class VAR / iVar von Class AAA (richtig) ran ?
... em ... äh ... was ist der Unterschied von einer Class Var vs. iVar ?
---
die Class Var / iVar x1,x2 sind EXPORTED d.h. ich "könnte" aus Class BBB zugreifen während ich an die PROTECTED z1 nicht ran komme.
nun stehen beid CLASSen im selben PRG ... gibt es sowas wie eine "Fieldwide" STATIC CLASS Ivar oder STATIC Method ?