ich versuche gerade den Schleifenzähler an einen Codeblock zu übergeben. Nun wird bei dem Codeblock offenbar die Referenz auf die Zählervariable abgelegt und bei der Ausführung des Codeblocks der zu diesem Zeitpunkt gültige Wert der Zählervariablen verwendet.
Wie kann ich erreichen, dass im Codeblock der "richtige" Zählerwert zur Verfügung steht?
Einfaches Beispiel mit Pushbuttons:
Code: Alles auswählen
#include "appevent.ch"
procedure main()
LOCAL nEvent, mp1, mp2, oXbp
local i, xPos := 100
SetColor("N/W")
CLS
for i := 1 to 5
oXbp := XbpPushButton():new()
oXbp:caption := alltrim(str(i))
oXbp:create( , , {xPos,20}, {40,20} )
oXbp:activate:= {|| msgBox(str(i)) }
xPos += 50
next
// Event loop = Programmsteuerung
nEvent := 0
DO WHILE nEvent <> xbeP_Close
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:HandleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
Stehe ich jetzt ganz auf dem Schlauch? (Habe mich schon einen halben Meter zur Seite gesetzt... )
Kann jemand helfen?