Entwickler-Ecke

Internet / Netzwerk - TcpClient1 Recieve() funktioniert nicht..


sk0r - Di 08.05.07 17:42
Titel: TcpClient1 Recieve() funktioniert nicht..
hi, ich möchte gern ein mit TcpClient Control arbeiten.

Verbinden scheint auch zu klappen. Allerdings bekomme
ich keine Daten zurück Rolling Eyes

Dazu habe ich als Ereigniss OnRecieve "procedure TForm1.TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);"

Aber leider wird diese Prozedur nie aufgerufen, ich bekomme dort keine Daten.

Woran liegt das? Kann man dort die daten anders bekommen? Wäre aber gut in einer prozedur/funktion!

Danke schon mal für hilfe


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    TcpClient1: TTcpClient;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure TcpClient1Connect(Sender: TObject);
    procedure TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
      var DataLen: Integer);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  tcpclient1.RemoteHost := 'irc.undernet.org';
  tcpclient1.RemotePort := '6667';
  tcpclient1.Connect;
  //tcpclient1.Open;
end;

procedure TForm1.TcpClient1Connect(Sender: TObject);
begin
  showmessage('Connect');
  tcpclient1.Sendln('NICK testnick'+#13#10);
  tcpclient1.Sendln('USER nick undernet :testnick'+#13#10);
end;

procedure TForm1.TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
  var DataLen: Integer);
begin
  showmessage('RECIEVE');
  memo1.Lines.Add(Buf);
end;

end.


Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt