Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-06-2005
<Sergio> <Sergio> is offline
Miembro
 
Registrado: sep 2004
Posts: 72
Poder: 20
<Sergio> Va por buen camino
El Timagelist utilizalo si tienes imágenes repetidas en tus botones. Ej 10 ventanas todas con 2 botones con los mismos gráficos, en cada ventana. Con esto se reducen los "handles" necesarios en el ejemplo de 20 a 2.

Una pregunta

¿Cuanto ocupa tu .exe? (Como esos bitmaps son incluidos dentro del .exe es para tener una idea de cuanto espacio están ocupando tus bitmaps)
Responder Con Cita
  #2  
Antiguo 21-06-2005
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 22
ebeltete Va por buen camino
Mi ejecutable es de 2.16 MB, es una aplicacion que maneja bases de datos paradox, y esta hecho en Delphi 5, nunca le di pelota al tema de los recursos, de hecho el programa funciona bien, pero..., siempre es bueno optimizar los recursos, y generalmente cuando estoy trabajando en el con Delphi y trato de abrirlo me produce ese error, muchas veces tengo que cerrar Delphi y ejecutarlo para probarlo, esto se me hace fastidioso por todo lo que significa, otra pregunta, como le asigno la imagen desde un imagelist al glyph de un speedbutton, puedo hacer algo como esto: speedbutton2.glyph:=speedbutton1.glyph, esto me reduce la cantidad de bitmap?
Gracias y un abrazo.
Responder Con Cita
  #3  
Antiguo 21-06-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Aunque lo del ImageList puede ser útil por otras razones, dudo que te vaya a servir de algo para tu problema.

¿Ya probaste lo del MemProof?
¿Tienes componentes de terceros?
¿Has probado cambiando las imágenes? Quizá bajando la resolución o el número de colores.

// Saludos
Responder Con Cita
  #4  
Antiguo 26-06-2005
<Sergio> <Sergio> is offline
Miembro
 
Registrado: sep 2004
Posts: 72
Poder: 20
<Sergio> Va por buen camino
Cita:
Empezado por ebeltete
Mi ejecutable es de 2.16 MB, es una aplicacion que maneja bases de datos paradox, y esta hecho en Delphi 5, nunca le di pelota al tema de los recursos, de hecho el programa funciona bien, pero..., siempre es bueno optimizar los recursos, y generalmente cuando estoy trabajando en el con Delphi y trato de abrirlo me produce ese error, muchas veces tengo que cerrar Delphi y ejecutarlo para probarlo, esto se me hace fastidioso por todo lo que significa, otra pregunta, como le asigno la imagen desde un imagelist al glyph de un speedbutton, puedo hacer algo como esto: speedbutton2.glyph:=speedbutton1.glyph, esto me reduce la cantidad de bitmap?
Gracias y un abrazo.
2.16 MB hmmm pues tus bmp son relativamente chicos y no es problema de resolución de tus bmp.

Como ya indico Roman, revisalo con el memproof por que también revisa esas cuestiones de recursos gráficos. A mi me ayudo a encontrar un bug de liberación de memoria por culpa de un "destroy" que estaba en "private" y no en "protected" donde debería estar.

Aunque esto no solucionará tu problema, es bueno tener un compresor de .exe : ¿o ya usaste uno para reducir de tamaño tu .exe?

The Ultimate Packer for eXecutables
Copyright (c) 1996-2004 Markus Oberhumer & Laszlo Molnar
http://upx.sourceforge.net
Responder Con Cita
  #5  
Antiguo 15-01-2007
Avatar de PabloTech
PabloTech PabloTech is offline
Miembro
 
Registrado: ene 2007
Ubicación: Tucumán, Argentina
Posts: 82
Poder: 18
PabloTech Va por buen camino
Thumbs up

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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:17:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi