irgendwas klappt hier nicht mit nNum
Code: Alles auswählen
PROCEDURE MAIN
LOCAL nNum := 1
LOCAL aArray := {}
LOCAL oThread1 := Thread():new()
LOCAL oThread2 := Thread():new()
LOCAL oThread3
CLS
oThread2:setInterval(100)
oThread2:start( "NowAdd", aArray,@nNum)
oThread3 := AAA():NEW()
oThread3:aAAArray := aArray
oThread3:nNNNum := nNum
oThread3:setInterval(100)
oThread3:start()
oThread1:setInterval(100)
oThread1:start( "ShowIt", aArray,@nNum)
@ MAXROW() ,1 SAY ""
INKEY(10)
oThread3:setInterval(NIL)
oThread2:setInterval(NIL)
oThread1:setInterval(NIL)
RETURN
PROCEDURE NowAdd(aArray,nNum)
AADD(aArray,"hello")
AADD(aArray,"world")
// hier wird der Zähler erhöht
nNum++
@ 11,1 SAY "NowAdd "+STR(LEN(aArray))+" "+STR(nNum)
RETURN
PROCEDURE ShowIt(aArray,nNum)
@ 12,1 SAY "ShowIt "+STR(LEN(aArray))+" "+STR(nNum)
RETURN
CLASS AAA FROM Thread
EXPORTED:
VAR aAAArray
VAR nNNNum
METHOD INIT()
METHOD Execute()
ENDCLASS
METHOD AAA:INIT()
::Thread:init()
RETURN self
METHOD AAA:Execute()
@ 13,1 SAY "Thread "+STR(LEN(::aAAArray))+" "+STR(::nNNNum)
RETURN
nun bekomme ich nNum aber weder in ShowIt() oder der Class AAA "upgedatet" ... das Array schon.
Frage : wie behandle ich einen Numerischen Wert in solchen Fällen ?