Hallo,
in meiner WaWi lade ich jeden Tag nacheinander die Artikellisten von diversen Großhändlern herunter, um Preise und Verfügbarkeiten zu aktualisieren. Den Download der einzelnen Lieferanten will ich jetzt in einen Thread auslagern, damit das Programm nicht einfriert, wenn aus irgendeinem Grund der Download mal nicht bis zum Ende durchläuft.
Den Thread starte ich mit einem Schalter:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.ButtonDownloadClick(Sender: TObject); begin Thread := TMeinThread.Create(True); Thread.FreeOnTerminate:=true; Thread.Resume; Image.Picture.LoadFromFile('dt.gif'); end; |
Testweise beende ich den Thread dann mit dem Abbruch-Schalter:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.ButtonAbbruchClick(Sender: TObject); begin IdFTP.Abort; if Assigned(Thread) then Thread.Terminate; Image.Free; end; |
Auf den ersten Blick scheint das auch zu funktionieren, aber wenn ich danach den nächsten Lieferanten herunterladen will und damit den Thread erneut starten möchte, erhalte ich eine Zugriffsverletzung.
Wie kann ich den Thread erneut starten?
Danke Ebi