如何让应用程序将调试文本写入Delphi IDE中的事件日志窗口(Borland Developer Studio 2006)?
如何更改文字的颜色?
答案 0 :(得分:26)
OutputDebugString( '你好,世界');
我认为您可能需要将Windows添加到“使用”列表中。不是100%肯定...
据我所知,文本颜色无法更改:这是Delphi IDE的一个功能,它在该窗口中添加了额外的消息,用于线程启动/停止,DLL加载/卸载,以及它们自己的特定颜色。 / p>
答案 1 :(得分:8)
是的,您可以使用OutputDebugString
。
如果您想获得更强大的功能来控制和管理调试输出,例如突出显示过滤器,则应使用DebugView。
注意:在Delphi IDE中运行应用程序时,DebugView无法捕获调试日志。
答案 2 :(得分: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;
答案 3 :(得分:3)
除了已经说过的内容(例如OutputDebugString
并使用DebugView而不是内置日志查看器)之外,您还可以通过选项更改日志视图中消息的颜色。最简单的方法是右键单击日志窗格,然后从上下文菜单中选择“属性”。在将出现的选项卡上,您可以从“颜色”部分设置用于“输出调试字符串”的颜色。显然,这将改变通过OutputDebugString
发出的所有消息的颜色 - 它不允许单独着色。为此,您最好使用DebugView的过滤器。