Rodrigo,
Esa misma estrategia tiene Fivewin en versiones que van desde la 1.95 a la actualidad.
En particular creo que así funciona la generación de FONTS y BITMAPS en la GUI de FivetechSoft.
Al parecer cuando quieres crear un nuevo FONT, la misma clase busca entre su stock de FONT(s) creados anteriormente y que no se han dejado de usar, así, devuelde el Handle del FONT que ya existe.
Esto parece algo lógico y atractivo pero ...
Consume muchos recursos, no si si recuerdas que muchas personas alegaban que los recursos de windows se iban perdiendo hasta que la aplicación dejaba de mostrar FONTS o BITMAPS ...
Eso era porque al parecer la BODEGA de objetos no era bien administrada creo yo. Seguramente el sistema no tenía como saber que un FONT dejó de usarse cuando la programación era deficiente y que había que eliminarlo del STOCK.
Entonces, quizás faltó en ese esquema un RECOLECTOR de BASURA o mejor dicho, para el caso del STOCK un LIQUIDADOR DE MERCADERIA.
No se si esto te sirva, pero pienso que es un antecedente que hay que tomar en cuenta. El hecho de tener una BODEGA de recursos es algo CARO porque los recursos en WINDOWS son LIMITADOS y además nos impone una tarea adicional de ADMINISTRAR ese STOCK.
Yo solucioné el problemita de Fivewin con una modificación casi ridícula y hasta el día de hoy me funciona perfecto. Lo que hago es que los recursos de FONTS y BITMAPS los utilizo es decir PINTO con ellos y los destruyo de inmediato. Esto puede parecer lento, pero en la práctica, con los procesadores actuales, no es para nada un costo de CPU importante.
Un saludos
Jorge
|