我认为Timer也可以用API来实现。具体可参看SDK,关键字“Timer”
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
             毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
  I := TI.Create(Nil);
I.Maxim := MaximStr;
—————————————————————————————————
       

解决方案 »

  1.   

    既然窗体是用API写的,那TIMER也用API来啊,
    SetTimer、KillTimer
      

  2.   

    是的。timer也是用API来写的。但是还是不行的!
      

  3.   

    建立timer  
    // Create a timer to flip the pages
      if TIMER_ID <> SetTimer(h_Wnd, TIMER_ID, TIMER_RATE, nil) then
        begin
          Result := InitFail(h_Wnd, hRet, 'SetTimer FAILED');
          Exit;
        end;
    处理消息  case aMSG of
               WM_TIMER:
          begin
          end;
      

  4.   

    前面加上:
    const
      TIMER_ID   = 1;
      TIMER_RATE = 500;
      

  5.   

    你一看TTimer的源代码就明白了:)
    完全就是API的包装
      

  6.   

    var
      TimerID: Integer;
    begin
      TimerID := SetTimer(0, 0, 1000, @TimerProc);
      //加上你的消息处理
      KillTimer(0, TimerID);
    end.
    这样就OK了
      

  7.   

    procedure TimerProc(Window: HWND; message, idEvent: UINT; dwTime: DWORD); stdcall;
    begin
      //这里写你的代码
    end;