Como bien dijo andrés1569:
Este error se lanza únicamente cuando un objeto TCanvas no puede crear un Handle sobre el que dibujar. En otras palabras, si tienes los recursos del sistema bajo mínimos es muy probable que Windows no permita asignar más Handles, y cuando un objeto que necesita dibujarse a través de Un TCanvas lo solicita, Windows se lo deniega, de ahí ese error.
Mi sistema ya pasa los 4MB y el error me aparecía de vez en cuando. Tengo una ventana con dos grillas enlazadas como maestro-detalle y un reporte que se cargaba, a veces un 1%, un 15% o un 25%, siempre aleatoriamente. Los datos los obtengo de PostgresSQL. Vi sus hipótesis y son acertadas. La solución que me dió excelente resultado es deshabilitar los controles asociados a los datos (o sea las grillas) antes de ver o imprimir el reporte. Ejemplo:
ModuloDatos.t_Clientes.DisableControls;
...
r_Listado.Print; // o r_Listado.PreviewModal;
...
ModuloDatos.t_Clientes.EnableControls;
Espero que les sirva como a mi.
|