![]() |
IdHttp Thread nach destroy ende!
Hi,
ich habe das Problem, das nachdem ich einen Thread mit destroy beende Macht meine Schleife nicht weiter! Hier einmal der Code Thread:
Delphi-Quellcode:
Main:
unit UntHtThread;
interface uses Windows, SysUtils, Classes, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdBaseComponent,IdURI; type THtThread = class(TThread) private HT: TIdHTTP; FURL: string; FId: Integer; protected procedure Execute; override; public constructor Create(CreateSuspended: Boolean); destructor Destroy; override; property URL: String read FURL write FURL; property IId: Integer read FId write FId; end; implementation uses UntSearch; constructor THtThread.Create; begin inherited Create(True); ht := TIdHTTP.Create(nil); ht.HandleRedirects:=True; ht.RedirectMaximum:=15; ht.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'; end; destructor THtThread.Destroy; begin ht.Free; inherited Destroy; end; procedure THtThread.Execute; var s:string; begin try s:=ht.Get(TIdURI.URLEncode(FURL)); FrmSearch.Fertig(FURL,s,FId); end; end.
Delphi-Quellcode:
was mache ich falsch?
var
ht: array of THtThread; procedure TFrmSearch.Fertig(SUrl,SOk:string;IId:integer); begin //etwas machen^^ if INow<=SlListe.count then begin try ht[IId].Destroy;//hiernach wird nicht weiter gemacht nichtmal wenn ich überall Breakpoints setzte except end; ht[IId]:=ThtThread.Create(true); ht[IId].URL:=SlListe[INow]; ht[IId].IId:=IId; ht[IID].FreeOnTerminate:=true; ht[IId].resume; end; end;//nichtmal hier //So wirdder Thread aufgerufen: setlength(ht,strtointdef(edThreads.text,10)); for I := 0 to strtointdef(edThreads.text,10)-1 do begin ht[i]:=ThtThread.Create(true); ht[i].URL:=SlListe[INow]; ht[i].IId:=i; ht[i].FreeOnTerminate:=true; ht[i].Resume; end; mfg gandime |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz