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.
delphi 多线程定时执行程序如何写
最新推荐文章于 2020-04-08 20:09:32 发布
本文介绍了一个使用Delphi编写的简单应用程序,该程序通过一个后台线程监测网络连接状态。当检测到网络断开时,程序会在主线程中显示提示消息。文中详细展示了创建线程、监测网络状态及更新UI的具体实现。
3745

被折叠的 条评论
为什么被折叠?



