我放了工程中4个Timer控件,timer1、timer2、timer3的ONtimer事件都写有语句,这些语句都会在工程运行时运行:
timer1.active:=true;
timer2.active:=true;
timer3.active:=true;
而timer4的ontimer事件的语句(用来判断当网络又正常连接时,自动连接数据库),但在工程运行时不运行,只用当执行timer1、timer2、timer3的ONtimer事件中的语句出现异常(很可能因为网络断开连接,数据库连接不上)时,才会被执行,并停止执行timer1、timer2、timer3ONtimer事件中的 语句。当连接数据库又连接上时,自动停止执行timer4的ontimer事件的语句,timer1、timer2、timer3的ONtimer事件中的语句又重新自动运行。我想问的是timer4的ontimer中的语句结构怎样写?怎样自动停止timer4的运行?急!急!急!procedure TForm1.Timer1Timer(Sender: TObject);
begin
  try
   (执行语句)
  except
   timer4.active:=true;
  end;
end;procedure TForm1.Timer2Timer(Sender: TObject);
begin
  try
   (执行语句)
  except
   timer4.active:=true;
  end;
end;procedure TForm1.Timer3Timer(Sender: TObject);
begin
  try
   (执行语句)
  except
   timer4.active:=true;
  end;
end;procedure TForm1.Timer4Timer(Sender: TObject);//关键是timer4中的语句结构怎样写?怎样在数据库连接正常时停止执行timer4,自动运行timer1、timer2、timer3,语句结构怎样写?
begin  ?end;

解决方案 »

  1.   

    procedure TForm1.Timer4Timer(Sender: TObject);//关键是timer4中的语句结构怎样写?怎样在数据库连接正常时停止执行timer4,自动运行timer1、timer2、timer3,语句结构怎样写?
    begin
      if (数据库正常连接) then
      begin
        timer4.active := False;
        timer1.active := True;
        timer2.active := True;
        timer3.active := True;
      end else
      begin
         //连接数据库
      end
      ?end;
      

  2.   

    procedure TForm1.Timer4Timer(Sender: TObject);//此时数据库已断
    begin
      while 数据库没连上 do
         begin
           重连数据库
         end;
       if timer1.enable= false then
        begin
          timer1.enable:=true;
        end;
       if timer2.enable= false then
        begin
          timer2.enable:=true;
        end;
      if timer3.enable= false then
        begin
          timer3.enable:=true;
        end;end