Hi!
ich komme leider bei folgendem problem nicht weiter:
in meinem programm soll durch einen timer jede sekunde eine Seite heruntergeladen werden und soll praktisch damit prüfen, ob eine Internetverbindung besteht (quasi als Ping, ich fürchte ne ziemlich unkonventionelle Lösung, aber für mich sollte es reichen).
Folgender Quellcode sollte relevant sein (einmal meine download-funktion zum einen, die timer-funktion zum anderen)
Delphi-Quellcode:
function download(
URL,Datei:
string):boolean;
var FS:Tfilestream;
begin
Application.ProcessMessages;
FS:=Tfilestream.Create(Datei,fmCreate);
try
form1.IdHTTP1.Get(
URL,FS);
Result := true;
except
Result := false;
end;
FS.Free;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
If download('
http://www.xxx.de/ping.txt','
c:/ping.txt')=true
then
label1.caption := '
online'
else
label1.caption := '
offline;
end;
Soweit funktioniert eigentlich alles so, wie ich es will. Allerdings, wenn ich die Verbindung kapsel, wird zwar erst richtigerweise offline angezeigt. wenn ich danach wieder online gehe, kommt aber kein statuswechsel mehr.
Da im Try-Teil Exceptions bzw. fehlermeldungen aufgetreten sind, habe ich unter "Tools/Debugger-Options" die funktion "stop on delphi exceptions" deaktiviert. dann waren die fehlermeldungen weg, aber ich vermute hierin liegt irgendwo der grund dafür, dass er nicht mehr von offline auf online wechselt.
Hat jemand eine Idee? Wäre sehr dankbar für jeden Rat!
Beste Grüße,
Malte