zoukankan      html  css  js  c++  java
  • delphi 多线程定时执行程序如何写

    转载自:https://blog.csdn.net/chinajobs/article/details/51461368

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;
    
    type
      TSysChatMainForm = class(TForm)
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        { Private declarations }
        FTestNetThread: TThread;
      public
        { Public declarations }
      end;
    
    var
      SysChatMainForm: TSysChatMainForm;
    
    implementation
    
    {$R *.dfm}
    
    type
      TTestNetThread = class(TTHread)
        procedure Execute; override;
        procedure RefreshUIInMainThread;
      end;
    
    { TTestNetThread }
    
    procedure TTestNetThread.RefreshUIInMainThread;
    begin
      bsTrayIcon.ShowBalloonHint('网络异常','由于网络异常,程序掉线!',bsbitInfo);
    end;
    
    procedure TTestNetThread.Execute;
    begin
      inherited;
      FreeOnTerminate := True;
    
      while (not Terminated) and (not InternetGetConnectedState(nil, 0)) then
      begin
        Data.UserOff('[脱机]',false);
        Synchronize(RefreshUIInMainThread);
    
        Sleep(3000)
      end;
    end;
    
    { TSysChatMainForm }
    
    procedure TSysChatMainForm.FormCreate(Sender: TObject);
    begin
      FTestNetThread := TTestNetThread.Create(False);
    end;
    
    procedure TSysChatMainForm.FormDestroy(Sender: TObject);
    begin
      FTestNetThread.Terminate;
    end;
    
    end.
    

      

  • 相关阅读:
    java基础-对象
    java基础-类
    java基础-数组
    java基础-for循环、while循环相关
    java基础-程序执行流程之if-else语句
    ODBC, OLEDB, ADO, ADO.NET
    无题
    优秀资源
    SSRS Report Knowledge Base
    SSRS 通过Customer Code访问Dataset
  • 原文地址:https://www.cnblogs.com/approx/p/11852425.html
Copyright © 2011-2022 走看看