程序如下,my1是收到Client的消息时创建
my2是按下button时创建
my2的Timer可以触发,而my1中的不可以unit sssss;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPServer, StdCtrls, ExtCtrls,
  IdAntiFreezeBase, IdAntiFreeze;type
  TMyClass = class
    myTimer: TTimer;
  public
    constructor Create;
    destructor Destroy; override;
    procedure myTimerTimer(Sender: TObject);
  end;  TForm1 = class(TForm)
    Button1: TButton;
    TS: TIdTCPServer;
    Button2: TButton;
    procedure TSCHhahaCommand(ASender: TIdCommand);
    procedure TSNoCommandHandler(ASender: TIdTCPServer;
      const AData: string; AThread: TIdPeerThread);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
    ATimer: TTimer;
  public
    { Public declarations }
    my1: TMyClass;
    my2: TMyClass;
    procedure ATimerTimer(Sender: TObject);
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.TSCHhahaCommand(ASender: TIdCommand);
begin
  ShowMessage('haha');
  my1 := TMyClass.Create;
  ATimer := TTimer.Create(nil);
  ATimer.OnTimer := ATimerTimer;
  ShowMessage('haah');
end;procedure TForm1.TSNoCommandHandler(ASender: TIdTCPServer;
  const AData: string; AThread: TIdPeerThread);
begin
  ShowMessage(AData);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
  TS.Active := True;
end;{ TMyClass }constructor TMyClass.Create;
begin
  myTimer := TTimer.Create(Form1);
  myTimer.Interval := 5000;
  myTimer.OnTimer := myTimerTimer;
  if myTimer.Enabled = True then
    ShowMessage('Active');
end;destructor TMyClass.Destroy;
begin
  myTimer.Free;
  inherited;
end;procedure TMyClass.myTimerTimer(Sender: TObject);
begin
  ShowMessage('Tiemr');
end;procedure TForm1.Button2Click(Sender: TObject);
begin
  my2 := TMyClass.Create;
end;procedure TForm1.ATimerTimer(Sender: TObject);
begin
  ShowMessage('ATiemr');
end;end.