my=class(TThread )
 ftime : integer;
....
 t : TTimer;
 t : integer; // timer.interval;
....
 procedure getftime...
 ....
 function setftime...
 ...
 procedure starttime;
 ...
 

解决方案 »

  1.   

    这是本人的简单的代码,只是实验用的,但是运行后,提示'List index out of bounds(0)'
    不知道怎么回事?请指教
    type
      TForm1 = class(TForm)
        Timer1: TTimer;
        StatusBar1: TStatusBar;
        Button1: TButton;
        procedure Timer1Timer(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;type
     TMythread=class(TThread)
     private
      time1:Ttimer;
     protected
      procedure Execute;override;
      procedure timershow;
     public
      constructor create(time:Ttimer);
     end;var
      Form1: TForm1;implementation{$R *.DFM}constructor Tmythread.create(time:Ttimer);
    begin
     inherited Create(false);
     time1:=time;
     freeonTerminate:=true;
    end;procedure Tmythread.timershow;
    begin
     time1.Enabled:=true;
    end;procedure TMythread.Execute;
    begin
     Synchronize(timershow);
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
     statusbar1.Panels[0].Text:='当前时间:'+timetostr(time);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
     Tmythread.Create(timer1);
    end;end.
      

  2.   

    将TTimer控件放到form1
    然后在线程单元uses form1即可
      

  3.   

    private
      time1:Ttimer;
    最好不要这样处理,你把timer1放到Fomr1上,然后引用form1上timer就行了。