AGB  ·  Datenschutz  ·  Impressum  







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

Frage zu ping

Ein Thema von runger · begonnen am 15. Jul 2005 · letzter Beitrag vom 15. Jul 2005
Antwort Antwort
runger
(Gast)

n/a Beiträge
 
#1

Frage zu ping

  Alt 15. Jul 2005, 07:48
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:
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.
Was mach ich falsch?

Rainer
  Mit Zitat antworten Zitat
Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#2

Re: Frage zu ping

  Alt 15. Jul 2005, 09:20
Warum, kann ich auch nicht nachvollziehen !

Umgehen kannst Du das Problem mit ti.Interval := 0 anstelle von ti.enabled := False Dann funktioniert das .

Chris
Christian Wahl
me, myself and I, die lustigen Drei !!
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#3

Re: Frage zu ping

  Alt 15. Jul 2005, 09:23
Es funktioniert.

Danke

Rainer
  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 00:37 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