因为要定时检测数据库所以设了一个timer定期检测,但是因为网络问题出现不定时连接不上,结果系统不断报错,有时甚至使系统瘫痪要重新打开,应该如何处理这种出错?

解决方案 »

  1.   

    //-------------------------------------------------------------------------
    // 实现监视网络状态
    procedure TfrmMain.Timer1Timer(Sender: TObject);
    var
    Types: Integer;
    Result: Boolean;
    begin
    Types := INTERNET_CONNECTION_MODEM +
    INTERNET_CONNECTION_LAN +
    INTERNET_CONNECTION_PROXY;
    Result := InternetGetConnectedState(@Types, 0); if Result=false then
    begin
    Timer1.Enabled := false;
    Timer2.Enabled := true;
    StatusBar1.Panels.Items[2].Text := '网络状态:断开';
    Application.MessageBox('网络异常断开!请检查网络是否连通。', '网络异常', MB_ICONWARNING);
    end; if IsConnected=false then
    begin
    Timer1.Enabled := false;
    Timer2.Enabled := true;
    StatusBar1.Panels.Items[2].Text := '网络状态:断开';
    Application.MessageBox('服务器异常关闭!请检查服务器是否已启动。', '网络异常', MB_ICONWARNING);
    end;
    end;
      

  2.   

    Types := INTERNET_CONNECTION_MODEM+INTERNET_CONNECTION_LAN+INTERNET_CONNECTION_PROXY;
    Result := InternetGetConnectedState(@Types, 0);
    这两句编译不过。
    还有.isconnected是在那里定义的?
    是要加什么控件吗?
      

  3.   

    忘了说明,小弟用的是delphi5。
      

  4.   

    这个我解决了,还有下面那个isconnected是在哪里定义的?和result分别有什么作用?还有,我想重新连接数据库应该怎么实现?
      

  5.   

    owencai大哥再详细一点好吗?或者哪位大哥指教一下吧!