bei Chancecurr.ele. nen falschen Pointer abzufragen?
Verfasst: 14.01.2008 23:20
Ich habe eine grundsätzliche Frage. Wie kann ich sicherstellen, das ich mit changecurrentelement ein gültiges Element erwischt habe. Also, wenn der Pointer z.B. falsch war, es das Element gar nciht gibt...
Der Debugger gibt folgendes aus und meldet dann eine IMA.
Das ist noch verständlich, gibt es das Element mit dem Pointer 514 gar nicht.
Aber das ListIndex(test()) 5 zurückgibt stimmt mit verwirrlich
Ist das so beabsichtigt. WEnn ja, habe ich praktisch keien Möglichkeit, nach einem changecurrentelement zu prüfen, ob die Liste nun auf ein gültiges Element weisst.
Oder hab ich nen Denkfehler drin?
Gibts ne andere Möglichkeit?
Code: Alles auswählen
Structure tst
a.l
b.l
EndStructure
NewList test.tst()
For x = 0 To 5
AddElement(test())
test()\a = x
Next
Debug "---3----"
SelectElement(test(), 3)
c = @test()
Debug ListIndex(test())
Debug test()\a
Debug "---1----"
SelectElement(test(), 1)
d = @test()
Debug ListIndex(test())
Debug test()\a
Debug "---c----"
ChangeCurrentElement(test(), c)
Debug ListIndex(test())
Debug test()\a
Debug "---514----"
ChangeCurrentElement(test(), 514)
Debug ListIndex(test())
Debug test()\a
Debug "---d----"
ChangeCurrentElement(test(), d)
Debug ListIndex(test())
Debug test()\a
End
Code: Alles auswählen
---3----
3
3
---1----
1
1
---c----
3
3
---514----
5
Das ist noch verständlich, gibt es das Element mit dem Pointer 514 gar nicht.
Aber das ListIndex(test()) 5 zurückgibt stimmt mit verwirrlich

Ist das so beabsichtigt. WEnn ja, habe ich praktisch keien Möglichkeit, nach einem changecurrentelement zu prüfen, ob die Liste nun auf ein gültiges Element weisst.
Oder hab ich nen Denkfehler drin?
Gibts ne andere Möglichkeit?