2008-12-29 20 views
9

¿Cómo puedo obtener una aplicación para escribir el texto de depuración en la ventana del registro de eventos en Delphi IDE (Borland Developer Studio 2006)?Escribiendo al registro de eventos en Delphi

¿Cómo se puede cambiar el color del texto?

+0

Usando dbgview es posible tener colores, filtros, etc. – Harriv

Respuesta

26

OutputDebugString ('Hello, World');

Creo que es posible que necesite agregar Windows a su lista de 'usos'. No estoy 100% seguro de eso ...

El color del texto no puede modificarse por lo que yo sé: es una característica del IDE de Delphi que agrega mensajes adicionales en esa ventana para iniciar/detener el subproceso, carga de DLL/Descargar, con su propio color específico.

8

Sí, puede usar OutputDebugString.

Si desea obtener funciones más potentes para controlar y administrar la salida de depuración, como un filtro de resaltado, debe usar DebugView.

Nota: DebugView no puede capturar el registro de depuración cuando ejecuta su aplicación en Delphi IDE.

7
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

La ventana Delph IDE "registro de eventos" no está relacionada con el registro de eventos de Windows. Confuso, lo sé! – Roddy

+4

Confundir correctamente pero útil, ya que la búsqueda de Google "escribir errores delphi en el registro de eventos de Windows" lo devuelve como primer resultado de búsqueda. – LMSingh

3

Aparte de lo que se ha dicho (es decir OutputDebugString y el uso de DebugView en lugar de la incorporada en el visor de registro), puede cambiar el color de los mensajes en la vista de registro a través de las opciones. La manera más fácil de llegar es haciendo clic con el botón derecho en el panel de registro y seleccionando "Propiedades" en el menú contextual. En la pestaña que aparecerá, puede establecer el color que se utilizará para "Cadenas de depuración de salida" en la sección "Colores". Obviamente, esto cambiará el color de todos los mensajes emitidos a través de OutputDebugString - no permitirá la coloración individual. Para eso, será mejor que use los filtros de DebugView.

Cuestiones relacionadas