structured map / list problem
Posted: Sun Feb 23, 2025 2:05 pm
Maybe I'm blind today.
This code:
Returns the wrong list elements:
PB 6.20 x86 asm backend on Windows 10 X64
This code:
Code: Select all
Structure PG_DPList_Structure
value$
EndStructure
Structure PG_DL_Structure
List PG_DPList.PG_DPList_Structure()
EndStructure
Structure PG_Structure
List DList.PG_DL_Structure()
EndStructure
NewMap PCGMap.PG_Structure()
AddMapElement(PCGMap(), "0")
If FindMapElement(PCGMap(), "0")
Debug "MapElement 0 found"
If Not SelectElement(PCGMap()\DList(), 0)
Debug "Data Add 0"
AddElement(PCGMap()\DList())
EndIf
AddElement(PCGMap()\DList()\PG_DPList())
PCGMap()\DList()\PG_DPList()\value$ = "01"
AddElement(PCGMap()\DList()\PG_DPList())
PCGMap()\DList()\PG_DPList()\value$ = "02"
EndIf
Debug ""
If FindMapElement(PCGMap(), "0")
Debug "MapElement 0 found"
If Not SelectElement(PCGMap()\DList(), 1)
Debug "Data Add 1"
AddElement(PCGMap()\DList())
EndIf
AddElement(PCGMap()\DList()\PG_DPList())
PCGMap()\DList()\PG_DPList()\value$ = "11"
AddElement(PCGMap()\DList()\PG_DPList())
PCGMap()\DList()\PG_DPList()\value$ = "12"
EndIf
Debug ""
If FindMapElement(PCGMap(), "0")
Debug "MapElement 0 found"
If SelectElement(PCGMap()\DList(), 0)
Debug "Selected list element 0"
ForEach PCGMap()\DList()\PG_DPList()
Debug "Value " + PCGMap()\DList()\PG_DPList()\value$
Next
EndIf
Debug ""
If SelectElement(PCGMap()\DList(), 1)
Debug "Selected list element 1"
ForEach PCGMap()\DList()\PG_DPList()
Debug "Value " + PCGMap()\DList()\PG_DPList()\value$
Next
EndIf
EndIf
I expect:MapElement 0 found
Data Add 0
MapElement 0 found
Data Add 1
MapElement 0 found
Selected list element 0
Value 11
Value 12
Selected list element 1
Value 01
Value 02
Or do I make a msitake?Selected 0
Value 01
Value 02
Selected 1
Value 11
Value 12
PB 6.20 x86 asm backend on Windows 10 X64