Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#4

AW: idsmtp:Message too long - bei neuen Indy Bibliotheken?

  Alt 13. Dez 2013, 13:10
Die Indy Ping Komponente habe ich heute mal getestet mit Delphi 6. Aktuelle Indy 10.6, unter Windows 8: funktioniert. Ist sicher die 10.6 Version gefunden worden, nicht eine eventuell noch im Suchpfad enthaltenen ältere Version? Die Version lässt sich "auf die Schnelle" mit TIdIcmpClient.Create.Version ermitteln.

Tipp: Sourcecode mal hier posten, aber mit dynamisch erzeugter Indy Komponente. Dann geht es auch ohne eine komplette Deinstallation und Neuinstallation der Indy Komponenten, was sehr viel Zeit spart (vor allem wenn man beim Testen schnell zwischen verschiedenen Revisionen wechseln muss).

p.s. Betreff "idsmtp:..." sollte vermutlich "TIdIcmpClient:..." sein

Mein Code:

Delphi-Quellcode:
unit PingTestUnit;

interface

uses
  IdIcmpClient, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    procedure DoReply(ASender: TComponent; const AReplyStatus: TReplyStatus);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Ping: TIdIcmpClient;
begin
  Ping := TIdIcmpClient.Create;
  try
    // Ping.Host := '127.0.0.1';
    Ping.Host := 'heise.de';

    Ping.OnReply := DoReply;
    Ping.Ping;
  finally
    Ping.Free;
  end;
end;

procedure TForm1.DoReply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
begin

  ShowMessage(TIdIcmpClient.Create.Version + #13#10
   + AReplyStatus.Msg + ' host ' + AReplyStatus.FromIpAddress);
end;

end.
Michael Justin
  Mit Zitat antworten Zitat