AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IdcmpClient Meldung unterdrücken?

Ein Thema von gee21 · begonnen am 8. Apr 2013 · letzter Beitrag vom 8. Apr 2013
Antwort Antwort
gee21

Registriert seit: 3. Jan 2013
199 Beiträge
 
Delphi 10.4 Sydney
 
#1

IdcmpClient Meldung unterdrücken?

  Alt 8. Apr 2013, 18:18
Hi, ich bins schon wieder

Ich versuche gerade ein paar IP Adressen an zu pingen.

Das klappt eigentlich auch schon. Wenn aber die IP Adresse nicht korrekt ist / nicht existiert, erhalte ich den Fehler: Socket Error Host not Found. (Ist ja auch logisch)

Aber wie kann ich das ignorieren, so dass er einfach mit dem nächsten Eintrag weiter macht?

So starte ich den Ping:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i : Integer;
begin

if listbox1.ItemIndex=-1 then begin
listbox1.ItemIndex:=0;
listbox2.ItemIndex:=0;
end;

   idi1.Host := listbox1.Items[listbox1.ItemIndex];
   idi1.Port:= strtoint(form1.ListBox2.Items[form1.ListBox2.ItemIndex]) ;
   idi1.Ping();

end;
und so wollte ich dann das Ergebnis auswerten. Aber es kommt ja eben gar nicht so weit.
Delphi-Quellcode:
procedure TForm1.IdI1Reply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
begin
if (AReplyStatus.MsRoundTripTime < 1000) then begin
   edit1.Text:=(AReplyStatus.FromIpAddress);
  edit2.Text:= form1.ListBox2.Items[form1.ListBox2.ItemIndex];
   edit1.Color:=clgreen;
   edit2.Color:=clgreen;
   button2.Enabled:=true;
   label2.Caption:='3';
   if checkbox2.Checked=true then begin
    checkbox2.Checked:=false;
    button2.Click;
   end;

end else begin
 edit1.Color:=clred;
   edit2.Color:=clred;
  listbox1.Items.Delete(0);
  listbox2.Items.Delete(0);
  button1.Click;
  button2.Enabled:=false;
    if checkbox3.checked then begin
   listbox1.Items.SaveToFile(ExtractFilePath(Application.Exename)+'\Server.txt');
listbox2.Items.SaveToFile(ExtractFilePath(Application.Exename)+'\Port.txt');
end;
  end;






Danke euch schon jetzt wieder mal
Robert
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: IdcmpClient Meldung unterdrücken?

  Alt 8. Apr 2013, 18:27
Hallo,

mit der Methode "dreist alle Fehler ignorieren:"
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i : Integer;
begin

if listbox1.ItemIndex=-1 then begin
listbox1.ItemIndex:=0;
listbox2.ItemIndex:=0;
end;

   idi1.Host := listbox1.Items[listbox1.ItemIndex];
   idi1.Port:= strtoint(form1.ListBox2.Items[form1.ListBox2.ItemIndex]) ;
try
   idi1.Ping();
except
  on e : Exception do begin
     // hier eventuell die Fehler in eine Datei schreiben
     // oder in einem Memo sammeln oder hier einfach keinen
     // weiteren Quelltext einfügen.
     // Dann werden alle Fehler ignoriert.
     // Die Fehlermeldung steht in e.Message.
  end;
end;
end;
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#3

AW: IdcmpClient Meldung unterdrücken?

  Alt 8. Apr 2013, 18:39
Kleiner Haken: wenn nacheinander einige Ping-Anfragen an verschiedene Zieladressen abgeschickt werden, und dann irgendwann eine Reihe von Ping-Antworten eintreffen, woran erkennt das Programm dann, welche Antwort zu welcher Anfrage gehört?

Einfache Lösung: nach jeder Anfrage erst auf die Antwort warten, oder bis ein (relativ hoch gewähltes) Timeout-Zeitfenster erreicht wird, bevor man den nächsten Server anpingt.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
gee21

Registriert seit: 3. Jan 2013
199 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: IdcmpClient Meldung unterdrücken?

  Alt 8. Apr 2013, 19:18
Ah TipTop.

Vielen Dank

Robert
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:45 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