![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Muchas Gracias, perfecto, he conseguido colorear los dias que necesito dentro del calendario, es exactamente lo que queria. Muchas Gracias dec, pero tengo el siguiente error: es LENTISIMO, me tarda todo un mundo en mostrar el calendario, demasiado lento para el uso que le quiero dar, la verdad.
Se podria restringir el numero de llamadas a la función?? ¿¿Porqué se ejecuta tantas veces??? Si no fuera por la lentitud seria sensacional. Haber si alguien tiene alguna idea. De nuevo, gracias. |
|
#2
|
||||
|
||||
|
Hola,
Habría que ver porqué es tan lento, qué es lo que lo ralentiza. Imagino que cuando se va a dibujar un día tú "miras" a ver si ese día ha de ser o no "resaltado". Pues bien, puede que ese proceso de "mirar" sea lo que ralentize la tarea. No sé. Habría que ver el código que estás usando. ![]() |
|
#3
|
||||
|
||||
|
Efectivamente, el evento OnGetItemStyle se procesa por cada día del mes actual (el que se ve en el calendario), habrá que optimizarla al máximo.
Ahora mismo pinto en amarillo 15 días del mes, y el rendimiento es óptimo (ni siquiera noto el repintado, cambiando de mes rápidamente). Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#4
|
|||
|
|||
|
Chicos, asunto resuelto. Funciona a la perfección y además ahora rápido (no sabia que éste evento se producía para cada dia del mes), estaba haciendo un while de todos los dias del mes dentro del evento, con lo que se estaba haciendo dicho bucle tantas veces como días tuviera dicho mes. Ignorante yo..
Otra vez más, gracias, sin vuestra ayuda no creo que lo hubiera conseguido. Copio a continuación el código que he colocado dentro del evento en cuestión, de alguna manera ya forma parte de todos: var sql,sFecha : string; begin sFecha := datetimetostr(ADate); sFecha:= formatdatetime('yyyy-mm-dd',strtodate(sFecha)); sql := 'select * from tbEventos where nEmp = ' + IntToStr(gblnEmpresa) + ' and dFecha = "' + sFecha + '"'; ModuloDatos.qryEventos.sql.clear; ModuloDatos.qryEventos.sql.add(sql); ModuloDatos.qryEventos.open; if not ModuloDatos.qryEventos.Eof then begin AColor:=clGreen; end; |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Serializar un objeto a .XML | marceloalegre | Varios | 0 | 03-01-2008 14:24:40 |
| Clonar Objeto | senda | OOP | 1 | 13-08-2007 18:24:35 |
| Objeto Ole | omy | Varios | 0 | 03-02-2006 21:40:32 |
| Pasarle un objeto a una DLL | adlfv | OOP | 3 | 19-08-2005 20:42:49 |
| objeto ole | omy | Varios | 6 | 05-11-2003 18:15:54 |
|