问个关于tcp/ip 的线程问题。ClientSocket的  我想在接受的地方也使用线程  ,但是不好使  不知道为什么 ,请大家帮忙看下,下面的代码能正常使用 ,就是接受数据的地方 我想不使用主线程
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ScktComp, StdCtrls;type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure MySocketRead(Sender: TObject;Socket: TCustomWinSocket);
    procedure MySocketError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;   //定义线程
  TclentThread = class(TThread)
   protected
     procedure Execute; override;   end;
var
  Form1: TForm1;
  client:Tclientsocket;
  SocketThread:TclentThread;
implementation{$R *.dfm}
procedure TclentThread.Execute;begin  sleep(2000);
  if not client.Active then
    begin
      form1.Memo1.Lines.Add('连不上');
      client.Open;
    end;
    client.Socket.SendText('ddd');
  ///////////////////////
  execute;
end;
procedure TForm1.MySocketError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
   // StatusBar1.Panels[1].Text := '系统联机错误';
    Socket.Close;
    errorcode:=0;
end;
procedure TForm1.MySocketRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  form1.memo1.Lines.Add('ffff'+socket.ReceiveText);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
   client:=Tclientsocket.Create(form1);
   client.Address:='127.0.0.1';
   client.Port:=10040;
   client.Open;
   client.OnRead:=MySocketRead;
   client.OnError:=MySocketError;
   SocketThread := TclentThread.Create(False);
end;end.