⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uapplog.pas

📁 Delphi编程宝典光盘] 商业源码+精彩源码+精选控件+经典工具+光盘定制 经典编程资源 精彩不容错过
💻 PAS
字号:
unit Uapplog;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,logmanagerpas,thdlogmghandlepas,uthdcheckpas,inifiles,UthdWriteLogtest;

type
  TFrmAppLog = class(TForm)
    mlog: TMemo;
    Button1: TButton;
    Memo1: TMemo;
    Button2: TButton;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmAppLog: TFrmAppLog;
  SysIniFile:TIniFile;
  LogMgr: TLogManager;
  TimeIntervalEvent: TlogEvent;
  NewLogAddEvent: TlogEvent;
  Thdcheck: TThdcheck;
  ThdLogHandler: TThdLogHandle;
  ListWriteThread:Tlist;
implementation

{$R *.DFM}

procedure TFrmAppLog.FormCreate(Sender: TObject);
begin
  SysIniFile := TIniFile.Create('.\Applog.ini'); //d:\common\borland\delphi5\projects
  ListWriteThread:=Tlist.Create ;
  TimeIntervalEvent := TlogEvent.Create('TEN_SECONDS_INTERVAL_UP', false);
  NewLogAddEvent := TlogEvent.Create('HAS_NEW_LOG_ADDED', false);

  LogMgr := TLogManager.create('.\LogFiles');
  Thdcheck:=TThdcheck.create(LogMgr);
  ThdLogHandler := TThdLogHandle.create(LogMgr,mlog);

  Thdcheck.Resume;
  ThdLogHandler.Resume;

end;

procedure TFrmAppLog.Button1Click(Sender: TObject);
begin
LogMgr.AddLog('This is a massage from main process!');
end;

procedure TFrmAppLog.FormDestroy(Sender: TObject);
var
i:integer;
begin
  Thdcheck.Terminate;
  TimeIntervalEvent.Signal;

  ThdLogHandler.Terminate;
  NewLogAddEvent.Signal;

  Thdcheck.Free;
  ThdLogHandler.Free;

  LogMgr.Free;
  NewLogAddEvent.Free;
  TimeIntervalEvent.free;
  SysIniFile.Free;
  for i:=0 to ListWriteThread.count-1 do begin
     TWriteLog(ListWriteThread.Items[i]).free;
  end;
  ListWriteThread.Free;
end;

procedure TFrmAppLog.Button2Click(Sender: TObject);
var
i:integer;
begin

  for i:=0 to 5 do begin
    ListWriteThread.Add(TWriteLog.create(false));
  end;
end;

procedure TFrmAppLog.Button3Click(Sender: TObject);
var
i:integer;
begin
  for i:=0 to ListWriteThread.count-1 do begin
     TWriteLog(ListWriteThread.Items[0]).free;
     ListWriteThread.Delete(0);
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -