![]() |
Schleife on Exception weiterlaufen lassen
hoiho,
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var i: integer; server, port: string; begin for i := 0 to servers.Count-1 do begin Application.ProcessMessages; if pos(':', servers.Strings[i]) > 0 then begin server := copy(servers.Strings[i], 1, pos(':', servers.Strings[i])-1); port := copy(servers.Strings[i], pos(':', servers.Strings[i])+1, length(servers.Strings[i])); with idHTTP1 do begin Try ProxyParams.ProxyPort := port; ProxyParams.ProxyServer := server; Get('http://www.outwar.com/page.php?x=1550037'); label8.Caption := IntToStr(StrToInt(label9.Caption)+1); except continue; end; end; end else begin continue; label10.Caption := IntToStr(StrToInt(label10.Caption)+1); end; end; end; hoi, wie kann ich die schleife weiterlaufen lassen falls beim aufruf von Get ein toter server erwischt wird? irgendwie friert mein prog dann immer rein |
Re: Schleife on Exception weiterlaufen lassen
Kenn mich damit zwar nicht so aus , aber das da sieht passend aus:
Delphi-Quellcode:
Quelle:
Var sReply : String;
begin IdHttp.ReadTimeOut := 5000; // 5 Sek. try sReply := IdHttp.Get('http://www.harribo.de/berechne.php?param1=wert1¶m2=wert2'); except sReply := 'READTIMEOUT'; end; // jetzt steht in sReply die Serverantwort // weitere Verarbeitungen durchführen end; ![]() |
Re: Schleife on Exception weiterlaufen lassen
hallo x-Dragon, aber nach der exception wird die schleife doch auchnichtmehr weitergehen oder?
|
Re: Schleife on Exception weiterlaufen lassen
Zitat:
|
Re: Schleife on Exception weiterlaufen lassen
ein except(wenn es beendet ist) bricht soweit ich weiss die aktuelle prozedur ab
aber das möchte ich nicht, ich hätts gern ca so: try //irgendwas except mach einfach mit der schleife weiter end wenn ein server down ist komm ich ja sonst nie zum nächsten da wenn ein server down ist ja immer vorher abgebrochen wird |
Re: Schleife on Exception weiterlaufen lassen
Hi,
nö, die Prozedur wird nicht beendet
Code:
Nach dem end; wird ganz normal weitergearbeitet,
try
irgendwas; except end; es sei denn du benutzt nach except
Code:
Gruß Minz
raise Exception...
|
Re: Schleife on Exception weiterlaufen lassen
hm, wo hab ich das bloss her das die prozedur dann abgebrochen wird...
war das nicht so, dass wen man nicht: try irgendwas; finally sl.free; //stringlist variable end; macht, dass die variable "sl" nicht gefree't wird? oder gilt das nur innerhalb eines blocks? jedenfalls danke, es geht nach dem except weiter =)... komisch nur das mein prog keine buttons mehr drücken lässt weils so lahm ist, (application.proccessmessages ist doch drin O_o) |
Re: Schleife on Exception weiterlaufen lassen
hurz? :mrgreen:
wär mir neu das das ding nicht "gefreet" wird. |
Re: Schleife on Exception weiterlaufen lassen
jo, wenn ich z.b
Delphi-Quellcode:
procedure irgendwas;
var sl: TStringList; s: string; begin sl := TStringList.Create; sl.add('irgendwas'); s := idHTTP1.Get('www.irgendwas.de'); //wenn hier ein fehler auftritt sl.free; // wird sl doch nichtmehr "gefreet" oder end; |
Re: Schleife on Exception weiterlaufen lassen
achso ja klar!
aber nach
Code:
da wird das schon "gefreet"
try
irgendwas; //Fehler tritt auf finally free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:49 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 by Thomas Breitkreuz