Aplicación se "congela"

Aplicación se "congela"

Postby AngelSalom » Wed Jul 06, 2016 8:45 am

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
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Aplicación se "congela"

Postby Antonio Linares » Wed Jul 06, 2016 9:04 am

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
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Aplicación se "congela"

Postby AngelSalom » Wed Jul 06, 2016 9:21 am

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
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Aplicación se "congela"

Postby Antonio Linares » Wed Jul 06, 2016 9:55 am

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
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Aplicación se "congela"

Postby hmpaquito » Wed Jul 06, 2016 10:16 am

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
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Aplicación se "congela"

Postby AngelSalom » Wed Jul 06, 2016 10:25 am

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
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Aplicación se "congela"

Postby hmpaquito » Wed Jul 06, 2016 10:28 am

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"

Postby hmpaquito » Wed Jul 06, 2016 10:32 am

Á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
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Aplicación se "congela"

Postby AngelSalom » Wed Jul 06, 2016 11:05 am

¿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
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Aplicación se "congela"

Postby cnavarro » Wed Jul 06, 2016 11:27 am

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
cnavarro
 
Posts: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Aplicación se "congela"

Postby Antonio Linares » Wed Jul 06, 2016 12:45 pm

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Aplicación se "congela"

Postby AngelSalom » Wed Jul 06, 2016 12:49 pm

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

Code: Select all  Expand view  RUN
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 view  RUN
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
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Aplicación se "congela"

Postby Silvio.Falconi » Fri Jul 08, 2016 7:42 am

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 November 2023 - January 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
Silvio.Falconi
 
Posts: 7090
Joined: Thu Oct 18, 2012 7:17 pm

Re: Aplicación se "congela"

Postby Antonio Linares » Fri Jul 08, 2016 7:37 pm

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
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Aplicación se "congela"

Postby AngelSalom » Sun Jul 10, 2016 3:51 pm

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

Code: Select all  Expand view  RUN
#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 view  RUN
#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 view  RUN
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 view  RUN

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
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 21 guests