Zitat von
xaromz:
Bei jedem Neubefüllen wird ein neuer Thread gestartet.
Warum???
Terminiere doch den alten Thread, ändere die Daten und starte einen Neuen.
Der Thread muss ständig prüfen, ob er nicht schon terminiert wurde:
Delphi-Quellcode:
procedure TXXXThread.Execute;
begin
for i:=0 to liste.Count-1 do
begin
if Termined then Exit; // <<<====
BearbeiteListenElement(i);
end;
end;
Der Thread sollte sich ausserdem beim Hauptthread(Anwendung) melden, wenn er mit der Arbeit fertig ist.