AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Was machen wenn keine Internet-Connection vorhanden
Thema durchsuchen
Ansicht
Themen-Optionen

Was machen wenn keine Internet-Connection vorhanden

Ein Thema von ghostnw · begonnen am 14. Jan 2008 · letzter Beitrag vom 14. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
ghostnw

Registriert seit: 14. Jan 2008
7 Beiträge
 
#1

Was machen wenn keine Internet-Connection vorhanden

  Alt 14. Jan 2008, 17:47
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
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Was machen wenn keine Internet-Connection vorhanden

  Alt 14. Jan 2008, 17:51
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!!
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
ghostnw

Registriert seit: 14. Jan 2008
7 Beiträge
 
#3

Re: Was machen wenn keine Internet-Connection vorhanden

  Alt 14. Jan 2008, 17:54
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
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Was machen wenn keine Internet-Connection vorhanden

  Alt 14. Jan 2008, 17:59
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?
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
ghostnw

Registriert seit: 14. Jan 2008
7 Beiträge
 
#5

Re: Was machen wenn keine Internet-Connection vorhanden

  Alt 14. Jan 2008, 18:02
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
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Was machen wenn keine Internet-Connection vorhanden

  Alt 14. Jan 2008, 18:06
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.
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Was machen wenn keine Internet-Connection vorhanden

  Alt 14. Jan 2008, 18:10
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..
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
ghostnw

Registriert seit: 14. Jan 2008
7 Beiträge
 
#8

Re: Was machen wenn keine Internet-Connection vorhanden

  Alt 14. Jan 2008, 18:39
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
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Was machen wenn keine Internet-Connection vorhanden

  Alt 14. Jan 2008, 19:29
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;
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Was machen wenn keine Internet-Connection vorhanden

  Alt 14. Jan 2008, 19:36
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?!?
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:25 Uhr.
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