Hi
Ich hab n Problem mit der idFTP Komponente. und zwar soll der eine Datei von einem FTP Server downloaden. wenn allerdings keine Internetverbindung besteht oder die Firewall das Programm blockt, dann friert das Programm kurzzeitig ein wenn der befehl
idftp1.connect;
ausgeführt wird. Es kommt ne socket fehlermeldung die ich auch abfange und so nur das Programm soll nicht einfrieren!
Gibt es da ne Lösung für? Ich hab das selbe mal mit der Indy FTP demo probiert, doch das friert auch ein für ne kurze zeit (2-3sec).
Ich hab mal hier im forum n bisschen gesucht und hab diesen code mal getestet:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function isHostAvailable(Host:String):boolean; var MS: Integer; ICMP: TidIcmpClient; begin ICMP:= TidICMPClient.Create(nil); result:= False; ICMP.Host:= host; ICMP.Ping; MS:=ICMP.ReplyStatus.MsRoundTripTime; result:= ICMP.ReplyStatus.ReplyStatusType <> rsTimeOut; ICMP.Free; end; |
Allerdings scheint Indy10 "ICMP.ReplyStatus" nicht zu kennen. keine ahnung wieso. (hab Delphi 2007)
Also wäre super wenn mir jemand helfen kann. ich muss irgendwie die verfügbarkeit des hostes prüfen ohne das das programm einfriert!
Gruß