Aplicación se "congela"

User avatar
AngelSalom
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España
Has thanked: 1 time
Contact:

Aplicación se "congela"

Post by AngelSalom »

Buenos días amigos, en mi aplicación de Gestión me encuentro que en algunos clientes y desde hace un par de meses, varias a veces al día el software se "congela" literalmente sin ni siquiera mostrar el contenido de los diálogos. El sistema operativo sigue funcionando sin problemas, pero hay que finalizar la tarea de mi aplicación y volver a iniciarla. Son usuarios que están todo el día con la aplicación y la molestia es evidente.

¿Alguien ha tenido alguna experiencia similar?
Lo cierto es que no se por dónde empezar a comprobar.

Muestra de un cuelgue :

Image

Como se puede observar no se muestra si quiera el menú superior ...

Gracias,
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
Antonio Linares
Site Admin
Posts: 42655
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 67 times
Been thanked: 96 times
Contact:

Re: Aplicación se "congela"

Post by Antonio Linares »

Es la típica situación de consume excesivo de recursos GDI (brushes, fonts, bitmaps, etc.)

Esto sucede porque estas usando elementos GDI que no se liberan adecuadamente

Usa estas funciones en tu aplicación para comprobar el consumo de recursos:
http://wiki.fivetechsoft.com/doku.php?id=fivewin_function_checkres
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
AngelSalom
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España
Has thanked: 1 time
Contact:

Re: Aplicación se "congela"

Post by AngelSalom »

Gracias Antonio, estuve probando esta función pero incluso "forzando" a dejarme algún recurso (un FONT, por ejemplo) en checkres.txt no se me registra nada. Previamente incluyo el SetResDebug (.T.) , ¿puede ser por mi versión de fwh 12.04 ?
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
Antonio Linares
Site Admin
Posts: 42655
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 67 times
Been thanked: 96 times
Contact:

Re: Aplicación se "congela"

Post by Antonio Linares »

Cuando la aplicación se cuelgue, en el administrador de tareas puedes ver que consumo esta teniendo.

Revisa los valores que se muestran (ahi aparecen los handles GDI) y copia la imagen aqui

Estaría bien probar con la versión más reciente de FWH y ver si tambien ocurre
regards, saludos

Antonio Linares
www.fivetechsoft.com
hmpaquito
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Aplicación se "congela"

Post by hmpaquito »

Hola Ángel,

Alguna vez he visto esas pantallas pero en fase de desarrollo... no recuerdo ahora mismo como se producian...
Me han pasado errores raros, que no sé si están relacionados, como que el self (::) en la clase TGet tome como tipo Numeric (raro donde lo haya).

De entrada te diria que:
1) Revisaras los timers que tengas... puede ser que alguno se active y entre en un bucle infinito y la pantalla de "cuelgue" porque el bucle de eventos no atienda al pintado de los recursos...
2) Comprueba la cantidad de memoria que tienen tus usuarios y cuanta tienen disponible.
3) Intenta delimitar si el problema se produce tambien al poco de empezar a trabajar o sólo cuando ya llevan tiempo.

De todas formas dale al hilo y a ver si vamos afinando los motivos.


Saludos
User avatar
AngelSalom
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España
Has thanked: 1 time
Contact:

Re: Aplicación se "congela"

Post by AngelSalom »

Gracias Antonio y hmPaquito. Ahora mismo mi prioridad está en intentar hacer funcionar CheckRes() en mi aplicación ya que no logro que haga nada. Estoy probando algún ejemplo de la carpeta samples (por ejemplo bug.prg) y sí que muestra los recursos colgados. Estoy probando en cualquiera de mis dos aplicaciones (gestión y contabilidad) forzando dejar colgado algún objeto FONT pero no lo refleja en checkres.txt ... , incluso creando un pequeño módulo y llamándolo desde la aplicación tampoco refleja el detalle . Me queda comprobar las librerías que incluyo por si alguna pudiera interferir en el funcionamiento de checkres.

Comprobando el consumo por el administrador de tareas resulta evidente que, aunque muy poco, el consumo de memoria va creciendo a medida que se trabaja. En usuarios que hacen un uso intensivo de la aplicación pienso que acabará saturando.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
hmpaquito
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Aplicación se "congela"

Post by hmpaquito »

Y

4) El antivirus, que de repente todo empiece a ir mal, puede ser cosa del antivirus, cada vez más invasivos. A ver si algun usuario con más experiencia y al que le haya aparecido el error puede trabajar siquiera cuatro horas con el antivirus desconectado y a ver qué pasa.
hmpaquito
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Aplicación se "congela"

Post by hmpaquito »

Ángel,

Comprueba PRIMERO en el admor. de tareas que los recursos GDI son disparatados. Sólo así yo me meteria a comprobar el checkres. ¿ Cómo comprobar que son disparatados ? Pues comparalo con otra aplicacion que si vaya bien.

Hasta donde yo recuerdo Windows se agostará de recursos cuando llegue a 10.000, que son los que permite que tenga una aplicacion.

Salu2
User avatar
AngelSalom
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España
Has thanked: 1 time
Contact:

Re: Aplicación se "congela"

Post by AngelSalom »

¿Cómo veo el uso de GDI en Windows 10?
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
cnavarro
Posts: 6572
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Has thanked: 4 times
Been thanked: 6 times

Re: Aplicación se "congela"

Post by cnavarro »

Angel, no te crea ningún fichero hb_out.log?
Has cambiado últimamente algo en la aplicación?
Estás usando alguna librería de terceros?
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
Antonio Linares
Site Admin
Posts: 42655
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 67 times
Been thanked: 96 times
Contact:

Re: Aplicación se "congela"

Post by Antonio Linares »

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
AngelSalom
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España
Has thanked: 1 time
Contact:

Re: Aplicación se "congela"

Post by AngelSalom »

Bueno, conseguí hacer funcionar el Checkres(). Cosa curiosa, tengo una línea de código:

Code: Select all | Expand

Set Default To (cDirTrabajo)


Si la elimino CheckRes funciona perfectamente (de hecho si ejecuto checkres() justo antes de esa línea funciona bien ... ), curioso.
Bueno, a lo que iba. Hace unos meses empecé a sustituir los botones (BUTTON) por Ribbon (Trbtn), y al observar el primer resultado del checkres me ha saltado la liebre. El acceso a una única ficha ha arrojado este resultado :

Code: Select all | Expand

06/07/2016 14:41:54: BRUSH,269487392,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ENVIODEERRORENTRANDOALPROGRAMA(184)->ENTRADA(519)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,235932981,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,202377857,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,1913653851,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,-1139799473,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,-753923516,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,1997539906,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,1051176,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,-1827665397,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,1544555009,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,1309673983,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,-1391457814,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,-267384355,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,571476422,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->ASI_FICHA(362)->(b)ASIENTOS(112)->FICHEDITA(1154)->(b)EDITAFICHA(168)->(b)KEYFICHA(902)->(b)MSGRUN(36)->(b)TDIALOG(87)->TDIALOG:DISPLAY(0)->TDIALOG:HANDLEEVENT(880)->DIALOGBOXINDIRECT(0)->TDIALOG:ACTIVATE(270)->MSGRUN(42)->KEYFICHA(902)->(b)BROWSEFICHA(708)->TWINDOW:KEYDOWN(2610)->TCONTROL:KEYDOWN(1019)->TXBROWSE:KEYDOWN(2213)->TWINDOW:HANDLEEVENT(0)->TCONTROL:HANDLEEVENT(1700)->TXBROWSE:HANDLEEVENT(11666)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: BRUSH,1108348180,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->CONTAEND(596)->(b)ENTRADA(536)->TMDIFRAME:END(262)->TMDIFRAME:SYSCOMMAND(2372)->TMDIFRAME:HANDLEEVENT(0)->_FWH(3153)->WINRUN(0)->TMDIFRAME:ACTIVATE(980)->ENTRADA(536)->MAIN(103)
   
06/07/2016 14:41:54: ====================================================================================================   
 


He ajustado la clase para la correcta eliminación del Brush (supongo que en las últimas versiones de fw este bug ya estará solucionado) y controlaré el rendimiento.
Gracias por las pistas, iré informando.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
Silvio.Falconi
Posts: 7187
Joined: Thu Oct 18, 2012 7:17 pm
Been thanked: 9 times

Re: Aplicación se "congela"

Post by Silvio.Falconi »

When I init with Windows seven I have allways this problems
Now I made allways dialog with sources @x,y and try to insert on res only the bitmaps and try to use only 16x16 bmps to have much memory
I not Know why i have that error I not founded a solution and then I use the sources by hand....

the sample test run ok then when i create a big application there is allways error of memory and lose of resources
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Antonio Linares
Site Admin
Posts: 42655
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 67 times
Been thanked: 96 times
Contact:

Re: Aplicación se "congela"

Post by Antonio Linares »

Angel,

> He ajustado la clase para la correcta eliminación del Brush (supongo que en las últimas versiones de fw este bug ya estará solucionado)

Cómo lo has corregido ?

Puedes mostrar un ejemplo de como usas los botones TRBtn ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
AngelSalom
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España
Has thanked: 1 time
Contact:

Re: Aplicación se "congela"

Post by AngelSalom »

Con este simple ejemplo extraído de testrbtn.prg :

Code: Select all | Expand

#include "FiveWin.ch"
#include "Ribbon.ch"

function Main()

   local oDlg, oPopup, oBtn
   
   SetResDebug (.T.)

   DEFINE DIALOG oDlg RESOURCE "Test"

   REDEFINE RBBTN oBtn ID 100 OF oDlg ACTION MsgInfo( "click" ) ;
      PROMPT "Class TRBtn" BITMAP "..\bitmaps\16x16\fivetech.bmp" LEFT

   ACTIVATE DIALOG oDlg CENTERED
   
   CheckRes()

return nil


Fichero Rc:

Code: Select all | Expand

#include <windows.h>

#ifdef __FLAT__
   1 24 "WinXP/WindowsXP.Manifest"
#endif

#ifdef __64__
   1 24 "WinXP/WindowsXP.Manifest64"
#endif

Test DIALOG 17, 36, 185, 147
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Test" FONT 8, "MS Sans Serif"
{  
   CONTROL "Test", 100, "TRBTN", WS_CHILD | WS_VISIBLE, 10, 15, 80, 20
   DEFPUSHBUTTON "OK", 1, 67, 128, 50, 14
}


En mi version FWH 12.04 ya obtengo en checkres.txt

Code: Select all | Expand

07/10/16 17:42:31: BRUSH,-703592644,(b)TRBTN(102)->TRBTN:DISPLAY(0)->TCONTROL:HANDLEEVENT(1666)->TRBTN:HANDLEEVENT(1520)->_FWH(3153)->DIALOGBOX(0)->TDIALOG:ACTIVATE(270)->MAIN(15)
   
07/10/16 17:42:31: ==================================================================================================== 
 


Los cambios en el método Destroy de la clase Trbtn.prg son muy simples y, pienso que en nuevas versiones estará corregido ya que debería "cantar" bastante en el uso de recursos de otros usuarios.

Code: Select all | Expand


METHOD Destroy() CLASS TRBtn

   DeleteObject( ::hArrow )
   
   if ::oWnd:IsKindOf( "TRBGROUP" )
      if ::hBack != ::oWnd:hBack
         DeleteObject( ::hBack )
      endif
   // Para eliminar el brush si el botón no está en un TRBGROUP - Ajuste Angel - Sigev
   else
     DeleteObject( ::hBack)
   endif
   
   DeleteObject( ::hRgn )

   ::FreeBitmaps()
   if ::oPopup != nil
      ::oPopup:End()
   endif
   
   Super:Destroy()

return 0
 
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Post Reply