Entwickler-Ecke

Internet / Netzwerk - [Indi9] Socket Fehler 11004


Sfaizst - Sa 07.06.08 21:51
Titel: [Indi9] Socket Fehler 11004
Guten Tag
Ich bin neu hier (und bin Ziemlicher Anfänger) also bitte etwas Verständnis,

Also, an mein Anliegen, ich habe mir ein Kleines Programm geschreiben mit dem ich
schnell "Sehen" kann ob ein Gameserver online ist.
Dieser "Crashed" des öfteren mal (was bei dem Normal ist).

Dafür brauch ich mein Programm, was super funktioniert, aber immer, wenn der Server aus ist kommt zusätzlich die Fehlermeldung "Socket Fehler 11004"

Und da wollt ich nun wissen, ob man diese Irgentwo abschalten kann, so dass sie einfach nicht erscheint und mein Label trozdem "Offline" anzeigt.

Danke für ihre Hilfe


Xentar - Sa 07.06.08 22:12


Delphi-Quelltext
1:
2:
3:
4:
5:
try
 // Prüfen ob Server da ist
except
  Label1.Caption := 'Offline';
end;


Sfaizst - Sa 07.06.08 23:12

Danke für die schnelle Antwort,
hat aber leider nichts bewirkt, das Programm bringt genau die gleich Fehlermeldung.


Xentar - So 08.06.08 19:32

Ich vermute mal, dass DELPHI die Fehlermeldung bringt.
Wenn du nur die Exe startest, ohne den Delphi-Debugger, taucht die Meldung normalerweise (wenn richtig gemacht) nicht mehr auf.


Sfaizst - So 08.06.08 22:50

Nein, das hab ich auch schon Probiert, aber der Fehler kommt immernoch, und da ich mich noch nicht besonders in der Materie auskenne schätz ich auch mal, dass ich try und except falsch gesetzt hab, hier hab ich mal meinen bisherigen code OHNE die beiden, Bitte nicht wundern, die Labels werden später durch Images erstetzt. Ich wäre dankbar, wenn ihr mir sagen könntet, wo ich diese setzten muss, aber ich habe auch nichts gegen "Denkaufgaben".
Zuerst der Button:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
begin
 Label11.Visible := Visible;
 Label12.Visible := Not Visible;
 Label14.Visible := Visible;
 Label15.Visible := Not Visible;
   If IsOnline = true then
  begin
    Label11.Visible := Not Visible;
    Label12.Visible := Visible;
  end;
 IdIcmpClient1.Host := 'list1.digiex.net';
 for i := 1 to 1 do
 begin
   IdIcmpClient1.Ping;
   Application.ProcessMessages;
 end;
end;

Und nun der IdIcmpClient:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
const AReplyStatus: TReplyStatus);
begin
  begin
  if (AReplyStatus.MsRoundTripTime = 0then
    sTime := '<1'
  else
    sTime := '=';
  end;

  Label14.Visible := Visible;
  Label15.Visible := Not Visible;
If sTime = '<1' then
  Label14.Visible := Not Visible;
  Label15.Visible := Visible;
end;

Danke für eure Hilfe, ich progge erst seit Ende April in Delphi rum also bitte ich nur um Verständins

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Sfaizst - Di 10.06.08 20:43

Ok, ich danke euch für die bisherifgen Antworten, ich habe mich dann doch nochmal mit den begriffen etwas durch googlet und ne schöne erklärung gefunden, die sogar so ein Dummkopf wie ich kapiert :)

hier, das

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
try
  { Code der crashen könnte }
except
  { Code der nur dann aufgerufen wird,
    wenn oben eine Exception auftritt. }

end;

nur die Erklärung habe ich gesucht :), es funktioniert jetzt

Danke für alles

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt