Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi TThread, irgendwas mache ich falsch (https://www.delphipraxis.net/196215-tthread-irgendwas-mache-ich-falsch.html)

Zacherl 5. Mai 2018 00:29

AW: TThread, irgendwas mache ich falsch
 
Zitat:

Zitat von KodeZwerg (Beitrag 1401311)
jetzt meine Frage, wie kann ich Download abbrechen?

Abbruchbedingung wird immer im Thread selbst geprüft. Dazu musst du die
Delphi-Quellcode:
IdHTTP
Komponente allerdings erstmal dazu bringen deinen Download in Chunks aufzusplitten (bzw. macht die Komponente das tatsächlich sowieso schon; du könntest das
Delphi-Quellcode:
OnWork
Event zuweisen und dort auf
Delphi-Quellcode:
TThread.Terminated
prüfen).

Zum Terminieren selbst rufst du dann
Delphi-Quellcode:
TThread.Terminate
auf. Allerdings solltest du in diesem Fall dann von der selbstständigen Freigabe (
Delphi-Quellcode:
FreeOnTerminate
) absehen.

KodeZwerg 5. Mai 2018 01:42

AW: TThread, irgendwas mache ich falsch
 
Danke Zacherl, ich glaube ich Verstehe in welche Richtung Du mich bringen magst!
Delphi-Quellcode:
System.Net.HttpClient.THTTPClient.OnReceiveData
da könnte/müßte ich glaube ich ansetzen und dann noch gucken wie ich disconnect hinbekomme (ich vermute darauf warst Du aus?).
Wenn ich es wie zuletzt gezeigt in einer Prozedur mit
Delphi-Quellcode:
createthread(hier der threadcode).Start
aufrufe, ist das dann wie FreeOnTerminate := True?
Wenn ich eh schon dabei bin stell ich alles auf Stream statt String um, dann lohnt sich der ganze Umbau um so mehr und ich glaube das ist Voraussetzung um mit OnReceiveData zu arbeiten, das wiederum ermöglicht so etwas wie eine ProgressBar(). Ich lese mich mal mehr in den THTTPClient mehr rein, der ist echt Umfangreich aber kann auch simpel (wie bei mir) bedient werden, nur um das zu machen was ich will muss es eben komplexer werden, danke auf jeden Fall für den stuppser mit Indy.OnWork Event!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 Uhr.
Seite 5 von 5   « Erste     345   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz