German Problem mit RemoveAt (ELement aus Liste löschen)

Jaws

Member
Licensed User
Longtime User
Hallo zusammen,

ich habe ein Problem damit, ein Element mit RemoveAt aus einer Liste zu löschen.

Aufruf der Update-Funktion:

B4X:
Sub Update (BallList As List, id As Int)
 
    If (y > 800) Then
        BallList.RemoveAt(id)
        Return
    End If
         
    If x > 445 OR x < 0 Then
        If x > 445 Then x = 445
        If x < 0 Then x = 0
        v = 180 - v
    End If
             
    If y < 0 Then
        y = 0
        v = 360 - v
    End If

    x = x + CosD(v) * s
    y = y + SinD(v) * s

End Sub
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Was ist das Problem ?

Du sprichst von RemoveAt aber in deinem Code findet man diese Funktion nicht ?

Ich verstehe auch den Code von der Update Routine nicht.
Du übergibst Parameter die gar nicht verwendet werden ?

Wenn Du RemoveAt verwenden willst ist es vorteilhafter
For i = BallList.Size - 1 To 0 Step -1
anstatt
For i = 0 To BallList.Size - 1
zu verwenden.
Wenn Du in der Schlaufe ein Element löschst wird BallList.Size um 1 vermindert und dann bekommst Du eine OutOfBoundary Fehlemeldung.

Beste Grüsse.
 

Jaws

Member
Licensed User
Longtime User
Hallo Klaus,

mein Fehler, habe nur den halben Code gepostet. Jetzt kommt keine Fehlermeldung mehr, allerdings wird auch die Update-Funktion nicht mehr ausgeführt. Was mache ich falsch?

EDIT

Danke Klaus, so geht es:

B4X:
For i = BallList.Size - 1 To 0 Step -1
 

Jaws

Member
Licensed User
Longtime User
Und noch was - ich habe gerade bemerkt, dass Beiträge mehrfach gepostet werden, wenn man die Seite erneut lädt...
 

Jaws

Member
Licensed User
Longtime User
So was ist mir noch nie aufgefallen.
Könntest Du genauer erklären was Du wie machst.

Gute Frage, ich meine ich hätte einfach einen Page Reload durchgeführt, nachdem ich den Beitrag gepostet hatte.

Auf jeden Fall ein guter Einstand meinerseits :D

Grüße zurück und einen schönen Abend noch!
 
Top