写入Delphi中的事件日志

Cha*_*iga 9 delphi

如何让应用程序将调试文本写入Delphi IDE(Borland Developer Studio 2006)的"事件日志"窗口?

如何改变文本的颜色?

Rod*_*ddy 26

OutputDebugString('Hello,World');

我想您可能需要将Windows添加到"使用"列表中.不是100%肯定...

据我所知,文本颜色无法更改:这是Delphi IDE的一个功能,它在该窗口中添加了额外的消息,用于线程启动/停止,DLL加载/卸载,以及它们自己的特定颜色.


小智 8

是的,你可以使用OutputDebugString.

如果要获得更强大的功能来控制和管理调试输出,例如突出显示过滤器,则应使用DebugView.

注意:在Delphi IDE中运行应用程序时,DebugView无法捕获调试日志.


Jk.*_*Jk. 6

procedure Write2EventLog(Source,Msg: string);
var h: THandle;
    ss: array [0..0] of pchar;
begin
    ss[0] := pchar(Msg);
    h := RegisterEventSource(nil,  // uses local computer
             pchar(Source));          // source name
    if h <> 0 then
      ReportEvent(h,           // event log handle
            EVENTLOG_ERROR_TYPE,  // event type
            0,                    // category zero
            0,        // event identifier
            nil,                 // no user security identifier
            1,                    // one substitution string
            0,                    // no data
            @ss,     // pointer to string array
            nil);                // pointer to data
    DeregisterEventSource(h);
end;
Run Code Online (Sandbox Code Playgroud)

  • 混淆正确但有用仍然,因为谷歌搜索"将delphi错误写入Windows事件日志"将此作为第一个搜索结果返回. (4认同)
  • Delpi IDE"事件日志"窗口与Windows事件日志记录无关.令人困惑,我知道! (3认同)