Ver Mensaje Individual
  #14  
Antiguo 14-12-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Esto.... ¿he dicho yo que era algo nuevo? .

Lo que yo estoy haciendo es usándolo bajo cnWizard con el cnDebugger. De hecho, mi "primer experto" lo construí en apenas 2 horas sin leer demasiada literatura.

Si tengo este código:
Código Delphi [-]
procedure TForm1.AbreTablas(Sender:TObject);
begin
  bla blah
end;

procedure TForm1.DbgridCellPaint(...);
begin // ignore log
 // pintar en el grid
end;

procedure TForm1.CierraTablas;
begin  
  blah blah
end;

Mi experto modifica el código y añade:
Código Delphi [-]
procedure TForm1.AbreTablas(Sender:TObject);
begin
  cnDebugger.LogMsg('TForm1.AbreTablas');
  bla blah
end;

procedure TForm1.DbgridCellPaint(...);
begin // Ignore log
 // pintar en el grid
end;

procedure TForm1.CierraTablas;
begin  
  cnDebugger.LogMsg('TForm1.CierraTablas');
  blah blah
end;

cnDebugger: es un depurador externo que trae implementado cnWizard.
cnDebugger.LogMsg: añade un mensaje a ese depurador.

"Mi experto" añade esa línea de Log para todos los procedimientos que tenga la unidad que estoy creando en mi programa final.

Puesto que en DBGridCellPaint se incluye el modificador // Ignore Log, en ese procedimiento no se añaden líneas de debug.

Cuando usar "mi experto": Estoy loco con una serie de rutinas que no muestran excepciones, pero no hacen lo que yo espero. En lugar de usar puntos de ruptura, Call Stack y demás, ejecuto ese experto y obtengo lo que podríamos llamar un "dynamic Call Stack" que mostrará en el log las llamadas a todos los procedimientos/eventos.

Obviamente he realizado otro experto (copiando y pegando) que elimina las líneas "cnDebugger.LogMsg" de todos los procedimientos.

Con solo 3 clics de ratón, puedo añadir 20 ó 30 trazas al programa que estoy realizando, depurando el programa de forma más cómoda si cabe.

¿útil? pse, no sé, el tiempo lo dirá .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita