delphi 多线程定时执行程序如何写

时间:2019-11-13
本文章向大家介绍delphi 多线程定时执行程序如何写,主要包括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.

  

原文地址:https://www.cnblogs.com/approx/p/11852425.html