Einzelnen Beitrag anzeigen

stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#1

Problem bei IdIcmpClient (Ping)

  Alt 24. Sep 2009, 08:41
Hallo Leute

Ich habe da ein ganz großes Problem Ich möchte ein Programm schreiben was IPs der Reihe nach anpingt doch es hängt sich dauernd auf

Hier mein Code:

Delphi-Quellcode:
IdIcmpClient1.ReceiveTimeout := StrToInt(floattoStr(JvSpinEdit1.Value)); //Festlegen des Ping-Timeoutes (bei mir 50 ms)

  x1 := True;

  repeat
    x1 := FALSE;
    if (JvIPAddress1.AddressValues.Value1 < JvIPAddress2.AddressValues.Value1) then //---Überprüft ob Start-IP kleiner als Ziel-IP (x1 = True)
    begin
      x1 := True;
    end
    else if (JvIPAddress1.AddressValues.Value1 = JvIPAddress2.AddressValues.Value1) and
            (JvIPAddress1.AddressValues.Value2 < JvIPAddress2.AddressValues.Value2) then
    begin
      x1 := True;
    end
    else if (JvIPAddress1.AddressValues.Value1 = JvIPAddress2.AddressValues.Value1) and
            (JvIPAddress1.AddressValues.Value2 = JvIPAddress2.AddressValues.Value2) and
            (JvIPAddress1.AddressValues.Value3 < JvIPAddress2.AddressValues.Value3) then
    begin
      x1 := True;
    end
    else if (JvIPAddress1.AddressValues.Value1 = JvIPAddress2.AddressValues.Value1) and
            (JvIPAddress1.AddressValues.Value2 = JvIPAddress2.AddressValues.Value2) and
            (JvIPAddress1.AddressValues.Value3 = JvIPAddress2.AddressValues.Value3) and
            (JvIPAddress1.AddressValues.Value4 < JvIPAddress2.AddressValues.Value4) then
    begin
      x1 := True;
    end;

    if not x1 then exit; //Wenn IP-Adresse ungültig, ENDE


    //IP-Zuweisung:
    IdIcmpClient1.Host := JvIPAddress1.text;

    
    Application.ProcessMessages;

    //Anpingen
    IdIcmpClient1.Ping(); //========= HIER FEHLER ===============



    Application.ProcessMessages;


    HochzählenIP; //Hier wird die IP um 1 erhöht, externe Funktion

    //Gib System Zeit
    Application.ProcessMessages;
  until (JvIPAddress1.text = JvIPAddress2.text) //Solange ausführen bis Start-IP und Ziel-IP gleich sind
Die stelle an der er sich aufhängt habe ich markiert... für den ersten Ping brauch er gar nicht lange doch für jeden danach 1+ sec was mir persönlich viel zu langsam ist -.-

Bitte, wo habe ich was falsch gemacht?
  Mit Zitat antworten Zitat