Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Problem mit ListView und Downloads


Hendi48 - Fr 24.08.07 19:42
Titel: Problem mit ListView und Downloads
Hi,
ich stehe vor einem Problem und weiß überhaupt nicht wie ich es lösen kann, ich hoffe ihr wisst es vielleicht :?
Also:
Ich habe 2 Downloads laufen. Der 1. läuft ganz normal im Programm und der 2. in einem Thread.
Jeder Download hat seine eigene ProgressBar und %-Anzeige. Dann ist da noch ein ListView wo die beiden Downloads eingetragen sind. Dort wird in Echtzeit angezeigt wie groß die Datei ist, wie der Speed ist und wieviel %. Wenn ein Download fertig ist, wird er in ein anderes ListView verschoben. Der 2. Download, welcher erst etwas später angefangen hat und daher noch nicht fertig ist, versucht immer noch in seinen alten platz (1) zu schreiben, da ist aber nichts mehr sondern er ist jetz in Platz 0 weil der andere ja weg is. Also stoppt der Thread einfach.
Wisst ihr wie ich das beheben kann? :?:


Narses - Sa 25.08.07 23:03
Titel: Re: Problem mit ListView und Downloads
Moin!

user profile iconHendi48 hat folgendes geschrieben:
versucht immer noch in seinen alten platz (1) zu schreiben, da ist aber nichts mehr sondern er ist jetz in Platz 0 weil der andere ja weg is.

Du darfst dir nicht den Index im ListView merken, sondern das TListItem-Objekt! :idea:

cu
Narses


Hendi48 - Sa 25.08.07 23:20

Aha, und wie kann ich das speichern?

So?

Delphi-Quelltext
1:
2:
3:
4:
5:
var
  Item: TListItem;
begin
  item:=lv1.Items[0];
end;

und wenn ich dann sowas lv1.Selected:=lv1.Items[0]; hab, wie kann ich ihm dann sagen das er "item" selektieren soll?


Narses - Sa 25.08.07 23:32

Moin!

user profile iconHendi48 hat folgendes geschrieben:
Aha, und wie kann ich das speichern?

So?

Delphi-Quelltext
1:
2:
3:
4:
5:
var
  Item: TListItem;
begin
  item:=lv1.Items[0];
end;

Theoretisch - ja, der Code ist aber (wegen dem Index) unsicher! :mahn: Du mußt doch irgendwo ein TListItemerzeugen, die Funktion liefert doch das Objekt als Funktionswert ab, da würde ich ansetzen! :idea:

user profile iconHendi48 hat folgendes geschrieben:
und wenn ich dann sowas lv1.Selected:=lv1.Items[0]; hab, wie kann ich ihm dann sagen das er "item" selektieren soll?

TListItemhat u.A. die Eigenschaft .Selected, rat´ mal, wofür die wohl da ist... :D

cu
Narses


Hendi48 - So 02.09.07 00:09

Sorry, ich hatte den Thread völlig aus den Augen verloren. So das mit dem Item0 klappt jetzt, aber ich hab da noch so ein Problem: Ich hab einen Download starten Button und der soll je nachdem Download 1 oder Download 2 starten. Wie kann ich es hinbekommen das er kuckt ob DL 1 läuft (in dem ListView wird ja alles angezeigt, kann ich das vielleicht daran erkennen lassen?) und wenn ja soll er DL 2 starten. Weiß jemand wie ich das machen kann?


Narses - So 02.09.07 23:15

Moin!

Neue Frage, neuer Thread! :mahn: ;) (das kennst du doch jetzt schon... :roll:)

cu
Narses