buttonbmp - problemas con cambio de versión FWH

buttonbmp - problemas con cambio de versión FWH

Postby rolando » Wed Nov 13, 2013 12:13 pm

Buen día,

Acabo de terminar de pasar y renovar una aplicación compilada con FWH 10.04 a la FWH 13.07 y tengo problemas con los botones.

El problema se da a veces en algunas pc's (las más nuevas), pero hay un par de pc's viejitas que están en la red local y, con la misma aplicación compilada con FWH10.04 no dan el problema pero con FWH13.07 es constante el problema.

La falla es que al "clickear" sobre un botón, se ejecuta dos veces el action del botón. Por ej. este código:

Code: Select all  Expand view
redefine buttonbmp oBtnAgregar ;
id 4004 OF oDlg ;
action (msgsound(cLocalRaiz+"\AUDIO\lase.wav") , oDbf:SetOrder( 0,".\DB\OTROSPRESU.CDX"  ),oDbf:append() ,;
           oBrw:GoLeftMost(),oBrw:nColSel:=1 , oBrw:refresh() , oBrw:gobottom() , oBrw:setfocus() ,;
           oDbf:FECHA:=date() ,  ;                                
           oRichDatos:settext("") , oRichDatos:refresh() , oRichPresu:settext("") , oRichPresu:refresh() ,;
           oDbf:save() ) ;
update ;
bitmap "AGREGANDO"

oBtnAgregar:cTooltip:="Agregar Presupuesto"
oBtnAgregar:oCursor:=oCur1


Gracias.

Rolando :D
Last edited by rolando on Mon Nov 18, 2013 11:28 am, edited 1 time in total.
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Botones - problemas con cambio de versión FWH

Postby rolando » Wed Nov 13, 2013 2:19 pm

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

Re: Botones - problemas con cambio de versión FWH

Postby rolando » Fri Nov 15, 2013 2:11 pm

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

Re: buttonbmp - problemas con cambio de versión FWH

Postby rolando » Mon Nov 18, 2013 11:33 am

Buen día,

Sigo con este tema. Un amigo me recomendó cambiar los buttonbmp por btnbmp y efectivamente no hace la falla pero:

¿No hay una forma de usar los buttonbmp sin que ejecuten dos veces el action (sobre todo en pc's mas viejitas)?.

Gracias.

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

Re: buttonbmp - problemas con cambio de versión FWH

Postby rolando » Sun Nov 24, 2013 11:44 pm

Buenas noches,

¿A nadie le pasó?.

¿Nadie usa los buttonbmp sin tener inconvenientes?.

¿Deberé cambiar todos por BtnBmp?

Gracias.

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

Re: buttonbmp - problemas con cambio de versión FWH

Postby Antonio Linares » Mon Nov 25, 2013 7:40 am

Rolando,

Una forma relativamente facil de solucionar el problema es usar una variable para controlar que la acción ya se está ejecutando:

Code: Select all  Expand view

function LaAccion()

   static lWorking := .F.

   if ! lWorking
      lWorking = .T.
      ...ejecuta tu acción
      lWorking = .F.
   endif

return nil
 
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: buttonbmp - problemas con cambio de versión FWH

Postby fgondi » Mon Nov 25, 2013 12:27 pm

Hace tiempo me encontré con ese problema.

En mi caso, después de revisar encontré que el problema estaba en la función "msgrun" (No se si, en tu caso, el problema suceda al usar msgsound).

Según quitaba la función msgrun, ya no se ejecutaba 2 veces la pulsación.
Es mas, si el foco, antes de la pulsación en el botón, esta en un get, que en su valid llama a la función msgrun, no ejecutaba la pulsación del botón.

Lo solucioné cambiando la función msgrun:

Code: Select all  Expand view
function MsgRun( cCaption, cTitle, bAction )
local h, ...

h := GetFocus()
DEFINE DIALOG...

...

ACTIVATE DIALOG...
SetFocus( h )
return uReturn
 


Desconozco si ahora funciona sin tener que hacer este cambio. Yo sigo usando el cambio
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España

Re: buttonbmp - problemas con cambio de versión FWH

Postby rolando » Mon Nov 25, 2013 1:15 pm

Gracias por responder,

Fernando, el problema no está en lo que sugieres, tengo en el action por ej:

Code: Select all  Expand view
action (oBtnProveedor:disable() , BuscoProvedor(oBtnProveedor,oDlg))


E igual se da el problema.

Antonio, lo que sugieres parece no funcionar porque el botón se dispara dos veces (si se prueba varias veces también lo hace en W7 64 bits). Lo que propones supongo que funcionaría para dialogos tipo MODAL pero yo uso todos dialogos NOWAIT.

Como comenté, usando botones tipo btnbmp NO DA EL PROBLEMA y, si compilo el programa con FWH10.04 TAMPOCO da el problema.

Se me ocurrió revisar la clase y no encontré diferencias entre la 10.04 y la 13.07, (salvo en dos méthods que ya tenía reformados).

Entonces compilé con FWH1307 e incluí el buttonb.prg de la 10.04 y la falla es la misma. De esto deduzco que el problema debería estar en la versión del xHarbor que utiliza el FWH13.07.

Si no encuentro solución, deberé cambiar todos los botones de la aplicación y es una lástima, además de por el trabajo que eso conlleva, porque particularmente los ButtonBmp son visiblemente más estéticos, con bordes redondeados, etc.

Gracias.

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


Return to FiveWin para Harbour/xHarbour

Who is online

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