immer wieder stolper ich darüber, dass wenn ich mit Pointern zu MapElementen arbeiten, später nicht mehr weiß wie ich an den Key zu diesem Pointer komme...
Nach ein bisschen probieren, bin ich auf folgendes Macro gekommen:
Code: Alles auswählen
Macro MapElementKey(Pointer)
PeekS(PeekI(Pointer-SizeOf(Integer)))
EndMacro
Code: Alles auswählen
Macro MapElementKey(Pointer)
PeekS(PeekI(Pointer-SizeOf(Integer)))
EndMacro
Macro ChangeCurrentMapElement(Map, Pointer)
FindMapElement(Map, MapElementKey(Pointer))
EndMacro
;-----
NewMap Test.i()
Test("Alpha") = 1
Test("Beta") = 2
Test("Gamma") = 3
*Pointer = @Test("Beta")
Debug MapElementKey(*Pointer)
Debug ""
ForEach Test()
Debug MapKey(Test())
*Save = @Test()
ForEach Test()
Debug " "+MapKey(Test())
Next
ChangeCurrentMapElement(Test(), *Save)
Next