Einzelnen Beitrag anzeigen

JannyR

Registriert seit: 10. Feb 2007
Ort: Boizenburg
28 Beiträge
 
Delphi 2005 Personal
 
#1

TApplicationEvents.OnException Problem

  Alt 28. Feb 2008, 09:26
Moin,

folgendes Problem:

Ich hab ein Pingtool (mit IcmpClient) geschrieben. Wenn ich während eines Pings das Netzwerkkabel abziehe kommt ein Socketerror.
Den Fange ich mit OnException ab und gib ihn in der lisbox mit aus. Wie mache ich jetzt, dass das Programm danach die verbliebenen Pings weiter ausführt (so wie bei cmd->ping, da macht er auch wweiter wenn das Kabel abgezogen wird)?

Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Exception(Sender: TObject; E: Exception);
begin
    ListBox1.Items.Add('error.');
end;

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

  var i: longint;
begin
  //Umwandeln der eingaben (TEXT) in INTEGER
  x1 := strtoint(n.Text);
  timeout := strtoint(time.Text);
  byte := strtoint(size.Text);
  host_ip := host.Text;
  
  //Einstellungen:
  IdIcmpClient1.Host := host_ip;
  IdIcmpClient1.ReceiveTimeout := timeout;
  IdIcmpClient1.PacketSize := byte;
  
  //Schleife fürs pingen + ausgabe + warten

  if CheckBox1.Checked=True then
     begin
        repeat
          begin
                IdIcmpClient1.Ping; //ping ausführen
                Application.ProcessMessages; //Ausgabe in Listbox
                listbox1.ItemIndex:=listbox1.Items.Count - 1; //letzten Eintrag aktiv
                listbox1.Items.SaveToFile(path.Text);
                Sleep(1000);
          end;
        until CheckBox1.Checked=false;
     end
   else
     begin
        for i := 1 to x1 do
          begin
                IdIcmpClient1.Ping; //ping ausführen
                Application.ProcessMessages; //Ausgabe in Listbox
                listbox1.ItemIndex:=listbox1.Items.Count - 1; //letzten Eintrag aktiv
                listbox1.Items.SaveToFile(path.Text);
                Sleep(1000);
          end;
     end;
end;
Miniaturansicht angehängter Grafiken
ping_379.jpg  
  Mit Zitat antworten Zitat