TCPIP服务器端向客户端发送数据,为什么小弟我这报错

TCPIP服务器端向客户端发送数据,为什么我这报错?
代码如下:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPServer, IdThread;

type
  TForm1 = class(TForm)
  mmo1: TMemo;
  idtcpsrvr1: TIdTCPServer;
  btn1: TButton;
  btn2: TButton;
  edt1: TEdit;
  procedure btn1Click(Sender: TObject);
  procedure idtcpsrvr1Execute(AThread: TIdPeerThread);
  procedure btn2Click(Sender: TObject);
  private
  { Private declarations }
  public
  { Public declarations }
  end;

var
  Form1: TForm1;
  FThread : TIdPeerThread;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
  idtcpsrvr1.Active := True;
end;

procedure TForm1.idtcpsrvr1Execute(AThread: TIdPeerThread);
var
  str: string;
begin
  try
  AThread.Connection.CheckForDisconnect(True,True);
  str:= AThread.Connection.ReadLn();
  mmo1.Lines.Add(str);
  if str<>'' then
  AThread.Connection.WriteLn('服务器已经相应你的消息'+str);
  finally

  end;
end;

procedure TForm1.btn2Click(Sender: TObject);
var
 // cList: TList;
  count: Integer;
  str: string;
begin
  str:= edt1.Text;
  try
  //cList := idtcpsrvr1.Threads.LockList;
  // for count := 0 to cList.Count-1 do
  // begin
  FThread.Connection.Write(str); //每次程序执行到这里都报错。应该怎么写才可以???
  finally
  // idtcpsrvr1.Threads.UnlockList;
  end;

end;

end.

------解决方案--------------------
應該是這樣
Delphi(Pascal) code

procedure TForm1.btn2Click(Sender: TObject); 
var 
  cList: TList; 
  count: Integer; 
  str: string; 
begin 
  str:= edt1.Text; 
  try 
    cList := idtcpsrvr1.Threads.LockList; 
    for count := 0 to cList.Count-1 do 
    begin 
      FThread := cList[count];//關鍵...
      FThread.Connection.Write(str);    
   end;
  finally 
    idtcpsrvr1.Threads.UnlockList; 
  end; 

end;