程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi輸出日志的方法

Delphi輸出日志的方法

編輯:Delphi

1、使用OutputDebugString

procedure TForm1.BtnDebugClick(Sender: TObject);
begin
  //這裡調用OutputDebugString發送調試信息到調試器。
  //在Delphi裡面,用View - Debug Windows - Event Log 來查看。
   OutputDebugString(PChar(測試OutputDebugString));
end;

2、發送日志到操作系統日志記錄。
這個基本上使用在Release版本中,記錄一些重要的信息,幫助用戶反饋信息給開發人員。

procedure TForm1.Button2Click(Sender: TObject);
var
  EvtSrcHand: THandle;
  EvtMsg: String;
  p:Pointer;
  i:integer;
  size:integer;
  q:^byte;
begin
  //注冊事件源,隨便起了個名字。這個名字就是下圖事件列表的’來源’一列
  //然後判斷是否成功。
  //注意後面要注銷
  EvtSrcHand := RegisterEventSource(nil, 測試程序);
  if EvtSrcHand = 0 then
  begin
    ShowMessage(注冊事件源失敗!);
    Exit;
  end;

  //這裡記錄一個字符串
  //這個字符串顯示在下面第二個圖選中的位置。
  EvtMsg := 記錄字符串;
  ReportEvent(EvtSrcHand,EVENTLOG_INFORMATION_TYPE,0, 0, nil, 1, 0, @EvtMsg, nil);
 
  //這裡記錄一塊內存,size大小
  size:=32;
  //申請
  GetMem(p, size);
  q := p;

  //填充這塊內存
  for i := 0 to size - 1 do
  begin
    q^ := i;
    inc(q);
  end;

  //這裡記錄內存的內容。大小為size, 首字節的指針p
  //同樣也有說明信息msg
  EvtMsg := 記錄某塊內存;
  ReportEvent(EvtSrcHand,EVENTLOG_INFORMATION_TYPE , 0, 0, nil, 1, size, @EvtMsg, p);
  FreeMem(p);
  //注銷事件源
  DeregisterEventSource(EvtSrcHand);
end;

程序運行後,可以通過控制面板 – 管理工具 – 事件查看器來查看

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved