Ich versuche einen Downloadmanager zu programieren, und bin auf folgendes Problem gestoßen:

Ein Download wird bei mir durch Selektiren eines Antrages in der Liste und anschließendem Klicken Auf Button begonnen. Dabei wird an eine Download-Klasse die Position des Eintrages mit pos = self.urls.GetFocusedItem() übergeben. Soweit sogut. Dieses Download wird auch gestartet(im Bild datei "4.rar") und läuft ohne Probleme, dabei wird in regelmäßigen Abständen der Fortschritt des Downloads in die Downloaded-Spalte übergeben, dabei benutze ich folgende Anweisung: self.urls.SetStringItem(pos, 2, fortschritt), dabei ist fortschritt die übertragene Größe.
wenn ich jetzt während des Downloads ein Eintrag aus der Liste lösche(im Beispiel 3.rar) Dann ändert sich die Position des laufenden Eintrages(wird nach oben verschoben) self.urls.SetStringItem(pos, 2, fortschritt) schreibt aber weiterhin in die alte Position, auf der jetzt eine andere Datei ist(1.rar)
und jetzt die eingentliche Frage: mit welcher Anweisung kann ich die aktuelle Position meines laufenden eintrages Bestimmen?