![]() |
Frage zu ping
Hallo,
ich habe ein kleines Verständnisproblem, vielleicht kann mir jemand helfen. Ich versuche einen ping über TIdIcmpClient abzusetzen, funktioniert auch. In der Komponenete gibts auch einen Timeout für die ping funktion. Das Problem ist wie nutze ich den. Mit einem externen Timer hab ichs, untenstehendes Beispiel, schon versucht. Den Timer kann ich in der reply Methode nicht mehr deaktivieren (warum ist mir unklar). ti ist ein Timer der auf 1000 msec steht und gestartet wird, wenn button1 gedrückt wird. Eigentlich soll der gestoppt werden, sobald eine Antwort, also der reply event, auftritt. Das funktioniert aber nicht.
Delphi-Quellcode:
Was mach ich falsch?
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdIcmpClient, ExtCtrls, IdRawBase, IdRawClient; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; ti: TTimer; cl1: TIdIcmpClient; procedure FormShow(Sender: TObject); procedure Button1Click(Sender: TObject); procedure tiTimer(Sender: TObject); procedure cl1Reply(ASender: TComponent; const AReplyStatus: TReplyStatus); private { Private-Deklarationen } FReply: TOnReplyEvent; public { Public-Deklarationen } protected end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormShow(Sender: TObject); begin ti.Enabled:=false; end; procedure TForm1.Button1Click(Sender: TObject); begin cl1.Ping('ELW600'); ti.Enabled:=true; end; procedure TForm1.tiTimer(Sender: TObject); begin label1.Caption:='error'; end; procedure TForm1.cl1Reply(ASender: TComponent; const AReplyStatus: TReplyStatus); begin ti.Enabled:=false; label1.Caption:=aReplyStatus.FromIpAddress; end; end. Rainer |
Re: Frage zu ping
Warum, kann ich auch nicht nachvollziehen !
Umgehen kannst Du das Problem mit
Delphi-Quellcode:
anstelle von
ti.Interval := 0
Delphi-Quellcode:
Dann funktioniert das .
ti.enabled := False
Chris |
Re: Frage zu ping
Es funktioniert.
Danke Rainer |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz