ich möchte ein Menu dynamisch aufbauen und die Auswahl weiter verwenden.
Code: Alles auswählen
LOCAL xValue := 0
FOR i := 1 TO nLen
cKey := oClickBtn:ButtonMenuItem:aMenuItems[i][2]
cCaption := oClickBtn:ButtonMenuItem:aMenuItems[i][3]
bBlock := { '"+cCaption+"',{ || xValue := Tumal('"+cKey+"'), lExit := .T. } }"
::oMenu:AddItem(&bBlock)
NEXT
::oMenu:PopUp ( oClickBtn, {400,400}, 2 , XBPMENU_PU_DEFAULT )
nEvent := xbe_None
DO WHILE !lExit
nEvent := AppEvent ( @mp1, @mp2, @oXbp )
do case
case nEvent == xbeP_Quit
QUIT // AppQuit()
OTHERWISE
oXbp:HandleEvent ( nEvent, mp1, mp2 )
ENDCASE
ENDDO
TONE(1234) // bin raus
? xValue
RETURN
FUNCTION Tumal(cKey)
Msgbox(cKey)
RETURN cKey
nun gebe ich ja cKey zurück ... aber es kommt nicht an ... kein TONE() ...
ich hänge also noch in der WHILE !lExit Schleife ... hm ... ok also mal als PRIVATE
jetzt komm ein TONE() aber er sagt immer noch 0 obwohl die MsgBox() es vorher richtig anzeigte ... hm ... auch die dann als PRIVATE
ok jetzt "stimmt" das Ergebniss aber die beiden PRIVATE gefallen mir nun überhaupt nicht
geht das nicht irgendwie eleganter ?