Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Was machen wenn keine Internet-Connection vorhanden (https://www.delphipraxis.net/106656-machen-wenn-keine-internet-connection-vorhanden.html)

ghostnw 14. Jan 2008 16:47


Was machen wenn keine Internet-Connection vorhanden
 
Hallo Delphi-Sepzialisten!

Ich denke ich habe ein relativ einfach zu lösendes Problem, habe aber keine Ahnung wie ich es löse.
Ich habe auch schon gesucht, jedoch ist das Themengebiet zu groß, um die Suche einschränken zu können.

Ich nutze IdHttp bzw. IdFTP von Indy. Aber wenn ich nun z.b. per Buttonclick mit diesen Komponenten etwas ausführe und keine Internetconnection habe, stürzt das Programm ab. Wie kann ich das abfangen, bzw. wie kann ich z.b. ein ShowMessage aufrufen?

Liebe Grüße, ghostnw

lbccaleb 14. Jan 2008 16:51

Re: Was machen wenn keine Internet-Connection vorhanden
 
hallo und herrzlich willkommen in der dp!!

kannst du mal den code posten, den du benutzt um die komponenten auszuführen??

das währe ein wenig hilfreicher!!

ghostnw 14. Jan 2008 16:54

Re: Was machen wenn keine Internet-Connection vorhanden
 
z.b. der hier:
Delphi-Quellcode:
 
if (IdHTTP1.Get('http://XXX.de/verwaltung/sperrdatei.php') = '') then
   begin
    IdHTTP1.Get('http://XXXX.de/verwaltung/verwaltung.php?actualUser='+UserName);
    Panel2.Visible := false;
    Panel1.Visible :=true;
    Label1.Font.Color := $000000FF;
    Label1.Caption:= 'Die Datenbank wird von ' + IdHTTP1.Get('http://XXXXXX.de/verwaltung/sperrdatei.php') + ' verwaltet!';
    B_DBsperren.Enabled := false;
    B_DBentsperren.Enabled := true;
   end;

Wenn nun keine Inet-Connection besteht bzw. der Server nicht erreichbar ist, schmiert das programm ab... :(


lg, ghostnw

dominikkv 14. Jan 2008 16:59

Re: Was machen wenn keine Internet-Connection vorhanden
 
Zitat:

Zitat von ghostnw
Wenn nun keine Inet-Connection besteht bzw. der Server nicht erreichbar ist, schmiert das programm ab... :(

was heißt schmiert ab?
Fehlermeldung (Timeout) oder wirklicher Programmansturz?

ghostnw 14. Jan 2008 17:02

Re: Was machen wenn keine Internet-Connection vorhanden
 
Denke mal richtiger Programmabsturz.
Die Buttons sind nicht mehr klickbar, das Fenster lässt sich nicht mehr verschieben, und im TaskManager wird mir "Keine Rückmeldung" gemeldet....

Danke für deine Hilfe, lg ghostnw

dominikkv 14. Jan 2008 17:06

Re: Was machen wenn keine Internet-Connection vorhanden
 
Ich würde sagen dein Programm wartet auf die Antwort vom Server... die wird es aber nicht geben!
Wenn du dein Programm mal länger so laufen lässt müsste ne Fehlermeldung kommen.
Lösungsansatz: Den Teil in nem Thread laufen lassen und mit try-except kapseln.

Oder zuerst überprüfen (mit Ping an deine Seite) ob diese verfügbar ist.
Wenn nein dann den Code garnicht erst ausführen.

lbccaleb 14. Jan 2008 17:10

Re: Was machen wenn keine Internet-Connection vorhanden
 
packe die procedure in onconnect (glaub ich heisst die funktion, musst mal auf der 2 registerkarte schauen) rein, dann wird diese ausgeführt wenn er verbunden ist mit dem server...

oder du baust damit onconnect und on disconnect mit einer boolean variable quasi nen schalter, der ein ist wenn er verbunden ist und aus wenn er nicht mehr verbunden ist...

dann kannst du für alle weiteren funktionen über diese komponente mit dem schalter arbeiten..


edit:
ach ja und ich würd dir (wie schon gesagt) auch zur ner try, except und end routine raten..

ghostnw 14. Jan 2008 17:39

Re: Was machen wenn keine Internet-Connection vorhanden
 
ok- danke für die tipps.

Die try..except..end; -Codes sehen so aus oder?
Delphi-Quellcode:
try
{mein Code}
except
{was muss hier rein?}
end;
lg ghostnw

Larsi 14. Jan 2008 18:29

Re: Was machen wenn keine Internet-Connection vorhanden
 
nehm doch einfach diese funktion:
Delphi-Quellcode:
uses WinInet;

procedure TForm1.Button1Click(Sender: TObject);
begin
  If InternetGetConnectedState(nil, 0) then
    Caption := 'Online'
  else
    Caption:='Offline';
end;

dominikkv 14. Jan 2008 18:36

Re: Was machen wenn keine Internet-Connection vorhanden
 
Ja der sieht so aus.
Nach except wird nur gesprugen wenn ein Fehler nach try aufgetreten ist. Du solltest dort auf den Fehler reagieren, zB weißt du das du nicht mit dem Internet verbunden bist.

Allerdings solltest du überprüfen welcher Fehler genau aufgetreten ist. Das geht mit on E: ETimeOut (kp wie das heißt^^) do ...
Hier gibts nen Tutorial für try... Sachen.

Dieses try...except behandelt allerdings nur die Fehlermeldung, wenn du nicht willst das dein Programm solange einfriert musst du diesen Code in einen Thread auslagern. Oder gabs da mal nicht so eine Komponente TIdAntiFreeze oder so?!?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 Uhr.
Seite 1 von 2  1 2      

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