Ver Mensaje Individual
  #4  
Antiguo 01-06-2007
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Reputación: 22
gatosoft Va camino a la fama
Hola gluglu,

Pues la verdad no se que pueda estar ocurriendo pero creo que pueden haber problemas en la forma como estas asignado el evento....

Considero que lo correcto es definir una varaible en dnde puedas guardar el procedimiento (un puntero)...


Código Delphi [-]
var 
proc:TdrawColumnCellevent;

Luego, en la seccion en donde inhabilitas el procedimiento, guardas el procedimiento (tomado directamente del objeto), asi:

Código Delphi [-]
  proc:=dbgrid1.OnDrawColumnCell;
  dbgrid1.OnDrawColumnCell:=nil;

cuando lo quieras habilitar de nuevo, entonces haces la asignaci{on:

Código Delphi [-]
   dbgrid1.OnDrawColumnCell:=proc;

Y eso deberia funcionar, y como te digo, considero que es la forma correcta de hacerlo....

Por otro lado, supongo que puedes estar haciendo lo siguiente:
Código Delphi [-]
dbgrid1.OnDrawColumnCell:=nil;

y luego haces la asignaci{on del procedimiento que Delphi crea por defecto

Código Delphi [-]
dbgrid1.OnDrawColumnCell:=DBGrid1DrawColumnCell;

Lo cual en mi compilardor de Delphi 7 no me genera error ni advertencia, pero aun asi no creo que sea una buena tecnica...

Es solo una opini{on, pero como te dije en mi compilador no me ocurre, por lo que debe haber algo que estes haciendo diferente... si pudieras copiar el codigo tal vez pudieramos saber que pasa..

Saludos.
Responder Con Cita