SkinButtons : Devorador de memoria... ( SOLVED )

SkinButtons : Devorador de memoria... ( SOLVED )

Postby Raymundo Islas M. » Fri Aug 13, 2010 2:27 am

Antonio,

Si activo el skinbutton y con tan solo dejar el cursor encima de cualquier boton, empieza a devorar la memoria de la PC !! a razon de 4kb por segundo.

Ya probe desactivandolo y no pasa nada, lo vuelvo a activar y empieza a hacer lo mismo.

Hasta parece taximetro !!!! :shock:


Saludos
Last edited by Raymundo Islas M. on Thu Sep 16, 2010 11:15 pm, edited 1 time in total.
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: SkinButtons : Devorador de memoria...

Postby Antonio Linares » Tue Aug 24, 2010 1:02 am

Raymundo,

Te ocurre con todos los ejemplos con SkinButon() ?

Lo vamos a revisar de inmediato, gracias! :-)
regards, saludos

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

Re: SkinButtons : Devorador de memoria...

Postby Raymundo Islas M. » Wed Sep 15, 2010 2:22 pm

Antonio,

Si encontraste algun leak ?

O solo me pasa a mi, ya que veo que ningun otro colega lo haya confirmado o desmentido.

Seria una verdadera lastima, ya que en verdad lucen muy bien los botones con esa clase.


Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: SkinButtons : Devorador de memoria...

Postby Ruben Fernandez » Wed Sep 15, 2010 4:05 pm

Raymundo, probastes los rbbuton

Aqui te dejo un ejemplo:


REDEFINE RBBTN oBoton1 ID 240 OF oDlg ;
ACTION( GUARDAADD(cNro),lSaleaDD:=.t.,oDlg:End()) BITMAP "SALIR2" ;
PROMPT "&Guardar" LEFT BORDER
oBoton1:SetFont(oFont3 ) ; oBoton1:cToolTip := { " " + CRLF + "Guardar cambios", "Guardar serial" }


aSkin[ SKIN_RED ]:SetSkin( oBoton1 )


FUNCTION BuildSkin( aSkin )


//default skin
aSkin[ SKIN_DEFAULT ] = TSkinRBtn():New()

//skin red
aSkin[ SKIN_RED ] = TSkinRBtn():New()
aSkin[ SKIN_RED ]:nClrBoxIn = RGB( 255,255,255 )
aSkin[ SKIN_RED ]:nClrBoxOut = RGB( 255, 0, 0)
aSkin[ SKIN_RED ]:aGradiant = { { 0.3, RGB( 254, 154, 128 ), RGB( 254, 154, 128 ) }, ;
{ 0.7, RGB( 252, 85, 40 ), RGB( 181, 61, 29 ) } }
aSkin[ SKIN_RED ]:bClrGradNormal = { | lPressed | if ( lPressed,;
{ { 1, RGB( 181, 61, 29 ), RGB( 254, 154, 128 ) } },;
{ { 1, RGB( 254, 154, 128 ), RGB( 181, 61, 29 ) } } ) }


RETURN NIL

//-----------------------------------------------------//

#define BLUE0 RGB( 218, 229, 243 )
#define BLUE1 RGB( 199, 216, 237 )
#define BLUEBOX0 RGB( 141, 178, 227 )
#define BLUEBOX2 RGB( 237, 242, 248 )

CLASS TSkinRBtn

DATA bClrGradNormal
DATA aClrGradOver
DATA bClrGradSubOver
DATA aClrGradUnder
DATA aClrGradBack
DATA aGradiant
DATA bClrText
DATA bClrGradSelectPress
DATA bClrGradSelect
DATA aClrGradBtnGr
DATA nClrBoxIn, nClrBoxOut

METHOD New( bClrGradNormal, aClrGradOver, bClrGradSubOver, aClrGradUnder,;
aClrGradBack, aGradiant, bClrText, bClrGradSelectPress, bClrGradSelect,;
aClrGradBtnGr )

METHOD SetSkin( oRBtn )

ENDCLASS

//-----------------------------------------------------//

METHOD New( bClrGradNormal, aClrGradOver, bClrGradSubOver, aClrGradUnder,;
aClrGradBack, aGradiant, bClrText, bClrGradSelectPress, bClrGradSelect,;
aClrGradBtnGr, nClrBoxIn, nClrBoxOut, nRound ) CLASS TSkinRBtn

DEFAULT aGradiant := { {0.3, BLUE0, BLUE0 }, { 0.7, BLUE1, BLUE0 } }

DEFAULT nClrBoxOut := BLUEBOX0, nClrBoxIn := BLUEBOX2

DEFAULT bClrGradNormal := { | lPressed | if ( lPressed,;
{ ;
{ 1/4, nRGB( 254, 215, 169 ), nRGB( 251, 179, 99 ) } , ;
{ 3/4, nRGB( 250, 155, 50 ), nRGB( 253, 239, 173 ) } ;
},;
{;
{ 1/4, nRGB( 255, 253, 222 ), nRGB( 255, 231, 147 ) } , ;
{ 3/4, nRGB( 255, 215, 86 ), nRGB( 255, 231, 153 ) } ;
} ) }

DEFAULT bClrGradSubOver := { | lPressed | if ( lPressed,;
{ ;
{ 3/4, nRGB( 248, 187, 107 ), nRGB( 253, 171, 98 ) } , ;
{ 1/4, nRGB( 253, 154, 63 ), nRGB( 255, 164, 64 ) };
},;
{;
{ 3/4, nRGB( 255, 253, 222 ), nRGB( 255, 231, 147 ) } , ;
{ 1/4, nRGB( 255, 215, 86 ), nRGB( 255, 231, 153 ) };
} ) }

DEFAULT aClrGradUnder := {|| { {1 , nRGB( 248,186,107), nRGB( 255, 253, 222 ) } } }

DEFAULT aClrGradOver := {|| { {1 , nRGB( 255,215,84), nRGB( 255, 253, 222 ) } } }

DEFAULT aClrGradBack := { { 1 , nRGB( 255, 253, 222 ), nRGB( 255, 253, 222 ) } }

DEFAULT bClrGradSelect := {| lSelected | if( lSelected ,;
{ ;
{1/4, nRGB( 253,212,168 ), nRGB( 251,178,99 ) },;
{3/4, nRGB( 250,157,52 ), nRGB( 252,234,163 ) };
},;
{ ;
{1/4, nRGB( 245,177,110 ), nRGB( 243,165,89 ) },;
{3/4, nRGB( 216,136,52 ), nRGB( 249,202,98 ) } ;
} ) }

DEFAULT bClrGradSelectPress := {| lPressed | if( lPressed ,;
{ ;
{ 1/4, nRGB( 248, 187, 107 ), nRGB( 253, 171, 98 ) } , ;
{ 3/4, nRGB( 253, 154, 63 ), nRGB( 255, 164, 64 ) };
},;
{ ;
{1/4, nRGB( 245,177,110 ), nRGB( 243,165,89 ) },;
{3/4, nRGB( 216,136,52 ), nRGB( 249,202,98 ) } ;
} ) }

DEFAULT aClrGradBtnGr := {|| ;
{ ;
{ 1/4, nRGB( 200, 219, 238 ), nRGB( 201, 221, 246 ) } , ;
{ 3/4, nRGB( 192, 212, 237 ), nRGB( 208, 225, 247 ) };
} }


::bClrGradNormal = bClrGradNormal
::aClrGradOver = aClrGradOver
::bClrGradSubOver= bClrGradSubOver
::aClrGradUnder = aClrGradUnder
::aClrGradBack = aClrGradBack
::bClrGradSelect = bClrGradSelect
::bClrGradSelectPress = bClrGradSelectPress
::aClrGradBtnGr = aClrGradBtnGr
::aGradiant = aGradiant
::nClrBoxIn = nClrBoxIn
::nClrBoxOut = nClrBoxOut


RETURN Self

//-----------------------------------------------------//

METHOD SetSkin( oRBtn ) CLASS TSkinRBtn

IF oRBtn:hBack != NIL
DeleteObject( oRBtn:hBack )
oRBtn:hBack = NIL
ENDIF

oRBtn:bClrGradNormal = ::bClrGradNormal
oRBtn:aClrGradOver = ::aClrGradOver
oRBtn:bClrGradSubOver = ::bClrGradSubOver
oRBtn:aClrGradUnder = ::aClrGradUnder
oRBtn:aClrGradBack = ::aClrGradBack
oRBtn:bClrGradSelect = ::bClrGradSelect
oRBtn:bClrGradSelectPress = ::bClrGradSelectPress
oRBtn:aClrGradBtnGr = ::aClrGradBtnGr
oRBtn:aGradiant = ::aGradiant
oRBtn:nClrBoxIn = ::nClrBoxIn
oRBtn:nClrBoxOut = ::nClrBoxOut


RETURN NIL
Gracias y Saludos
Ruben Fernandez - Uruguay
FWH 11.06, Harbour, Borland 5.82
Ruben Fernandez
 
Posts: 366
Joined: Wed Aug 30, 2006 5:25 pm
Location: Uruguay

Re: SkinButtons : Devorador de memoria...

Postby rolando » Wed Sep 15, 2010 4:57 pm

Raymundo,

Yo uso los buttonbmp y no hace el problema que comentas. Hice la prueba especialmente fijándome en lo que dices pero no aumenta el consumo de memoria.

Saludos

Rolando
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: SkinButtons : Devorador de memoria...

Postby Antonio Linares » Wed Sep 15, 2010 7:20 pm

El tema de los SkinButtons() lo hemos revisado recientemente y se ha comentado en el foro:

viewtopic.php?p=104420#p104420
regards, saludos

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

Re: SkinButtons : Devorador de memoria...

Postby Raymundo Islas M. » Thu Sep 16, 2010 12:37 am

Ruben,
Sip, ya los he estado checando y viendo mis opciones, creo que al final seran mi solucion.
El unico "incoveniente" que veo es precisamente el color, como son parte de la clase RibbonBar, si modifico los colores de los botones de rebote se modifican los colores de la Ribbon.
Aunque veo en tu post que hiciste una miniclase para los colores, voy a hacer pruebas con tu codigo !! Gracias


Rolando,
Al parecer ( no he probado con otros ) esto sucede unicamente con botones "normalitos" al momento de montarles el skin. De todos modos, voy a tener que probar con otras opciones para que no queden los botones "tristes" ( sin color ) en las pantallas.
Podrias por favor en tu PC hacer lo siguiente :
- generar en samples el archivo testsk1
- abres el task manager
- coloca el cursor encima de cualquier boton y asi lo dejas
- checa como se comporta el testsk1.exe
( quizas mi PC esta poseida ) :shock:
Gracias

antonio,
Desafortunadamente no puedo probar los ajustes que le hayan hecho recientemente ya que tengo la 10.6
Deja me actualizo pronto porque quiero utilizar la nueva clase de folders y veo.


Saludos a todos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: SkinButtons : Devorador de memoria...

Postby rolando » Thu Sep 16, 2010 2:14 am

Raymundo,

Hice el test y lo grabé a un EXE para que lo veas.

http://www.megaupload.com/?d=AY1VUL8V

Saludos

Rolando
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: SkinButtons : Devorador de memoria...

Postby Raymundo Islas M. » Thu Sep 16, 2010 2:54 am

Rolando,

Primero que nada, gracias por tomarte la molestia.

- Disculpa por no haberte comentado lo siguiente, en el task manager usa el tab de Procesos en vez de Rendimiento y veras que aumenta de 4 kb por segundo
Aun asi, alcanzo ver que empiezas con 139,xxx y acabas en 138,xxx en el minuto que dura el video

- Con que utilitario lo grabaste ? intente grabarlo con mi BB pero fue un desastre ! no encontre el disco de instalacion para accesar a los videos y W7 solo me mostraba la carpeta de canciones ! :P

A lo que voy con esto, seguramente a ninguno de nosotros nos afectaria "perder" varios mb de ram cuando en nuestros equipos tenemos varios Gb instalados, pero he visto varios clientes que aun ( sip, suena increible ) tienen 256 mb y hace una semana me tope con uno que tenia tan solo 128 mb en ram en sus equipos y por mas que se les dice que en vez de estar en los mostradores deberian estar en los museos esas PCs 8) siempre dicen : pues esta funcionando bien, por que la tengo que cambiar ?? lol
Y como la app es un 70% de consultas y el resto operativa seguro estoy que aun con 512 mb ni siquiera al final del dia, ya se les acabaron los recursos.

Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: SkinButtons : Devorador de memoria...

Postby rolando » Thu Sep 16, 2010 3:00 am

Raymundo,

Tienes razón. Estoy medio cansado y mientras cenaba me dí cuenta de mi error en el test.

Acá va de nuevo. Acá se comprueba lo que dices.

http://www.megaupload.com/?d=OM03BC49

Saludos.

Rolando

P.D.: Pasame tu email así te envío algo
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: SkinButtons : Devorador de memoria...

Postby Raymundo Islas M. » Thu Sep 16, 2010 5:25 am

Rolando,

Te agradezco mucho por la atencion y dispocision.

Ahora tambien podre estar mas tranquilo sabiendo que no esta "poseida" mi PC :lol:

Que tengas un buen descanso compañero, aqui apenas es media noche y me faltan todavia algunas horas mas de trabajo :|

Gracias

P.D. mi correo es : islasdevsys(at)hotmail.com

Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: SkinButtons : Devorador de memoria...

Postby Ruben Fernandez » Thu Sep 16, 2010 12:21 pm

Raymundo: La miniclase a la que te refieres la hizo Daniel aqui en el foro, pruebalo quizas sea la solucion por el momento.
Ademas los rbbutton tienen la posibilidad de poner el prompt en 2 lineas y se ve bien, cosa que no he logrado nada mas que con los
tsbutton de Manuel.
Una cosilla de los rbbuton es que si usas las teclas aceleradoras emiten un sonido, que no he sabido como sacarlo...por lo demas
estan bien.
Gracias y Saludos
Ruben Fernandez - Uruguay
FWH 11.06, Harbour, Borland 5.82
Ruben Fernandez
 
Posts: 366
Joined: Wed Aug 30, 2006 5:25 pm
Location: Uruguay

Re: SkinButtons : Devorador de memoria...

Postby Raymundo Islas M. » Thu Sep 16, 2010 4:42 pm

Ruben,

Suena excelente todo lo que comentas : colores con degradado, bitmaps, multilinea, tooltips, etc

Pero antes de empezar a hacer cambios a mi codigo, podria "robarte" unos minutos de tu tiempo y pedirte si haces la misma prueba que gentilmente Rolando realizo ayer ?

Ya que tienes tu app funcionando con los rbbutons y que tambien estan "skineados", checar si no pasa nada con los recursos.

Gracias anticipadas.


Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: SkinButtons : Devorador de memoria...

Postby rolando » Thu Sep 16, 2010 8:44 pm

Raymundo,

Hice el testrbtn (supongo que es el que habías pedido), y hay diferencia a favor.

http://www.megaupload.com/?d=NL8UFZTJ

Además, te mandé un soft para realizar los EXE de presentaciones de pantalla.

Saludos.

Rolando :D
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: SkinButtons : Devorador de memoria...

Postby Raymundo Islas M. » Thu Sep 16, 2010 11:14 pm

Rolando,

En verdad que te agradezco la atencion al asunto.

Por lo que veo es que, si queremos darle un un pequeño lift a los botones de nuestras apps, el ganador es RBBtns que ademas nos permite añadir el menu.

Pues entonces a darle duro, que tengo que migrar varias decenas de botones !!!

Antonio/Daniel/Rolando/Ruben,

Muchas Gracias !

Saludos

PD : Voy a checar lo que me mandaste, he estado usando Captivate pero ya lo hicieron muuuy pesado. Gracias
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: VitalJavier and 76 guests