Avatar billede morten_s Nybegynder
24. oktober 2002 - 11:33 Der er 2 kommentarer og
1 løsning

Indy OnWork event

Har nedenstående testkode og ønsker at få fat i TIdTCPClient'ens OnWork event, det kommer imidlertid aldrig hvad er årsagen til dette

Events som kommer
OnConnect
OnDisconnect
OnStatus

Events som udebliver
OnWork
OnWorkBegin
OnWorkEnd

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  StdCtrls;

type
  TForm1 = class(TForm)
    IdTCPClient1: TIdTCPClient;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure IdTCPClient1Work(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
    procedure IdTCPClient1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCountMax: Integer);
    procedure IdTCPClient1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
    procedure IdTCPClient1Status(axSender: TObject;
      const axStatus: TIdStatus; const asStatusText: String);
    procedure IdTCPClient1Connected(Sender: TObject);
    procedure IdTCPClient1Disconnected(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Button2Click(Sender: TObject);
begin
  IdTCPClient1.Host:= '192.168.1.44';
  IdTCPClient1.Port:= 23;
  IdTCPClient1.Connect;
  if IdTCPClient1.Connected then
  begin
    IdTCPClient1.Write(#27+#13);
    IdTCPClient1.ReadLn('>', -2);
    ShowMessage('job done');
  end;
  IdTCPClient1.Disconnect;
end;

procedure TForm1.IdTCPClient1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  if AWorkMode = wmRead then
    ShowMessage('Read');
  if AWorkMode = wmWrite then
    ShowMessage('Write');
end;

procedure TForm1.IdTCPClient1WorkBegin(Sender: TObject;
  AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
  ShowMessage('OnBegin');
end;

procedure TForm1.IdTCPClient1WorkEnd(Sender: TObject;
  AWorkMode: TWorkMode);
begin
  ShowMessage('OnEnd');
end;

procedure TForm1.IdTCPClient1Status(axSender: TObject;
  const axStatus: TIdStatus; const asStatusText: String);
begin
  ShowMessage('On Status');
end;

procedure TForm1.IdTCPClient1Connected(Sender: TObject);
begin
  ShowMessage('OnConnect');
end;

procedure TForm1.IdTCPClient1Disconnected(Sender: TObject);
begin
  ShowMessage('OnDisconnect');
end;

end.
Avatar billede borrisholt Novice
24. oktober 2002 - 11:40 #1
Du skal sende en masse før det sker ...

Jens B
Avatar billede morten_s Nybegynder
24. oktober 2002 - 11:42 #2
Ja men jeg har jo ikke ret meget og sende ;-(((((((((((((

Ved du hvor meget ?
Avatar billede borrisholt Novice
24. oktober 2002 - 11:48 #3
Nej jeg ved blot at når jeg sender en fil gennem netter kommer eventet fint med ...

Der bruger jeg nemlig det til at beregne hastigheden med.

Jens B
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester