TProgress en Windows Vista

TProgress en Windows Vista

Postby Alfredo Arteaga » Thu Feb 19, 2009 4:14 am

Sera que tengo que abandonar el uso de TProgress en Windows Vista?

. No presenta el pintado total del control.
. Activa un parpadeo molesto y permanece hasta que no se cierra el dialogo o control que la contiene.

Estuve revisando la clase y buscando documentación, veo que hay más de un mensaje que no está implementado entre otros PBM_SETRANGE32.

Me pregunto si habrá alguna solución ya implementada y no la conozco o si tendré que deshabilitar ese control para WV?
User avatar
Alfredo Arteaga
 
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico

Re: TProgress en Windows Vista

Postby Alfredo Arteaga » Thu Feb 19, 2009 7:07 pm

Seré el único que habrá visto eso?
User avatar
Alfredo Arteaga
 
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico

Re: TProgress en Windows Vista

Postby Alfredo Arteaga » Fri Feb 20, 2009 3:15 am

La opinión de un experto me deja mas tranquilo o sin ánimos de seguir buscando.

"No es error de fiveWin, efectivamente Windows Vista no completa los
progress bar a menos que esten asignados a un valor bastante grande.

... hemos retocado la clase para que "force" el repintado, pero es
una chapuza, de todas formas no te preocupes, no error de tu programa,
es un tema de Windows Vista que no si solucionaran algun dia."

Gracias!.
User avatar
Alfredo Arteaga
 
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico

Re: TProgress en Windows Vista

Postby Antonio Linares » Fri Feb 20, 2009 6:49 am

Alfredo,

Lo curioso es que sin temas funciona perfectamente.

De todas formas nosotros publicamos un ejemplo aqui en los foros que se comportaba bastante bien. Ando buscándolo para mostrártelo :-)
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: TProgress en Windows Vista

Postby Antonio Linares » Fri Feb 20, 2009 6:53 am

Alfredo,

Aqui está el ejemplo:

test.prg
Code: Select all  Expand view
#include "FiveWin.ch"

function Main()

   local oDlg, oProg1, oProg2
   
   DEFINE DIALOG oDlg TITLE "Progress Bars"
   
   @ 1, 1 PROGRESS oProg1 SIZE 80, 12

   @ 1, 20 PROGRESS oProg2 SIZE 12, 50 VERTICAL
   
   @ 3,  9 BUTTON "Ok" ACTION oDlg:End()
   
   oDlg:bStart = { || Increase( oProg1, oProg2 ) }
   
   ACTIVATE DIALOG oDlg CENTER ;
      ON INIT ( oProg1:SetRange( 0, 100 ), oProg1:SetStep( 1 ),;
                oProg2:SetRange( 0, 100 ), oProg2:SetStep( 1 ) )
   
return nil  

function Increase( oProg1, oProg2 )

   local n

   for n = 1 to 111
      // oProg1:StepIt()
      // oProg2:StepIt()
      oProg1:SetPos( n )
      oProg2:SetPos( n )
      Sleep( 50 )
      SysRefresh()
   next
   
return nil      
 


Image
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: TProgress en Windows Vista

Postby Alfredo Arteaga » Sat Feb 21, 2009 2:19 am

Gracias Antonio.

Me RINDO!, no puedo hacerlo funcionar como en las versiones previas a WV.
User avatar
Alfredo Arteaga
 
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico

Re: TProgress en Windows Vista

Postby pymsoft » Mon Feb 23, 2009 10:09 am

Alfredo,


prueba a hacer un Sysrefresh() cada tanto, asi lo resolvi yo. (solo que enlentece un poco)


saludos.
Pedro Gonzalez
User avatar
pymsoft
 
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia

Re: TProgress en Windows Vista

Postby Alfredo Arteaga » Mon Feb 23, 2009 2:47 pm

Gracias Pedro.

Te comento que cuando genero algunos reportes pongo una barra de progreso que muestre el avance y suceden estas dos situaciones:

1. no pinta el control en forma proporcional y
2. al finalizar deja el cursor en un estado intermitente que se vuelve molesto.

He buscado alguna forma para resolverlo (incluyendo el uso de SysRefresh()) y nada.
User avatar
Alfredo Arteaga
 
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico

Re: TProgress en Windows Vista

Postby pymsoft » Mon Feb 23, 2009 3:55 pm

Alfredo,

se me acabaron las ideas :(


Tengo varios clientes usando windows vista y no me han dicho nada de este problema.

Acabo de controlar que es lo que uso, y no es una progressbar, es un meter, pero hace lo que necesito.



saludos
Pedro Gonzalez
User avatar
pymsoft
 
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia

Re: TProgress en Windows Vista

Postby marca » Wed May 13, 2009 7:43 pm

Tenho o mesmo problema que o Alfredo


e tbem nao consegui entender o exemplo q. vem com o Fwh
#include "FiveWin.ch"

function Main()

local oDlg, oProg1, oProg2

DEFINE DIALOG oDlg TITLE "Progress Bars"

@ 1, 1 PROGRESS oProg1 SIZE 80, 12

@ 1, 20 PROGRESS oProg2 SIZE 12, 50 VERTICAL

@ 3, 9 BUTTON "Ok" ACTION oDlg:End()

oDlg:bStart = { || Increase( oProg1, oProg2 ) }

ACTIVATE DIALOG oDlg CENTER ;
ON INIT ( oProg1:SetRange( 0, 100 ), oProg1:SetStep( 1 ),;
oProg2:SetRange( 0, 100 ), oProg2:SetStep( 1 ) )

return nil

function Increase( oProg1, oProg2 )

local n



Por que aqui no for next é 111 e não é 100 como o setado acima no on init da dialog
----->>>>> oProg1:SetRange( 0, 100 )
for n = 1 to 111
oProg1:SetPos( n )
oProg2:SetPos( n )
Sleep( 50 )
SysRefresh()
next

return nil
Marcelo Ferro da Silveira
Fwh14.04/xHarbour 1.2.3 Simplex / Bcc582 / Pelles 8
SqlLib /xMate/WS
marca
 
Posts: 116
Joined: Mon Aug 13, 2007 5:22 pm
Location: Brazil

Re: TProgress en Windows Vista

Postby marca » Mon May 18, 2009 7:23 pm

Nada ?
Marcelo Ferro da Silveira
Fwh14.04/xHarbour 1.2.3 Simplex / Bcc582 / Pelles 8
SqlLib /xMate/WS
marca
 
Posts: 116
Joined: Mon Aug 13, 2007 5:22 pm
Location: Brazil

Re: TProgress en Windows Vista

Postby Wanderson » Wed Jan 06, 2010 9:35 pm

Descobri isso hoje, alguém conseguiu resolver?
Any sugestion?

Obrigado.
Wanderson
 
Posts: 332
Joined: Thu Nov 17, 2005 9:11 pm

Re: TProgress en Windows Vista

Postby Lautaro » Thu Jan 07, 2010 1:01 pm

Hola a todos,

Con respecto a progress si se quieren usar rangos con valor mayor a 65,535. se debe usar el metodo PBM_SETRANGE32 segun la documentacion del sdk de windows.

Aqui adjunto un parche que agrega el metodo setrange32 a la clase tprogress sin modificar el codigo de esta, solo hay que agregar el siguiente codigo al principio de vuestro programa, luego se debe usar el metodo setrange32 en vez del metodo setrange.

Ojo solo lo he probado con Harbour no con xHarbour y FWH 9.08

Esto soluciona el problema de pintado proporcional con valores mas grandes que 65.535.

Saludos

Lautaro Moreira
Code: Select all  Expand view


...
...
local oxprogress

    oxprogress:=TProgress()  // Crea el manejador de la clase
    __objaddmethod(oxprogress,"SETRANGE32",@xsetrange32()) // Agrega el metodo setrange32
    oxprogress:=NIL // Destruye el manejador de la clase

...
...

  oprogres:setrange32(0,150000)

....
....

return    


STATIC PROCEDURE  xsetrange32(nmin,nmax)

   LOCAL SELF := qself()
DEFAULT nmin:=0
DEFAULT nmax:=100


   SendMessage( ::hWnd, PBM_SETRANGE32, nmin,  nMax  )
   ::nMin := nMin
   ::nMax := nMax

   RETURN NIL

 
User avatar
Lautaro
 
Posts: 322
Joined: Fri Oct 07, 2005 2:44 pm
Location: Osorno, Chile

Re: TProgress en Windows Vista

Postby Adolfo » Mon Dec 13, 2010 9:54 pm

Antonio, Lautaro

No he encontrado solucion al problema de Totales en la tProgress mayores al 65535.

Lautaro tu solucion no me funciona en xHarbour
...obtengo el siguiente error

Error description: Error BASE/1003 Variable does not exist: PBM_SETRANGE32

en la linea

SendMessage( ::hWnd, PBM_SETRANGE32, nmin, nMax )

ANTONIO. Existe alguna solucion para este problema... es de Enero de este año

Saludos

Desde Chile
Adolfo
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: TProgress en Windows Vista

Postby Daniel Garcia-Gil » Mon Dec 13, 2010 10:04 pm

Adolfo

Code: Select all  Expand view
#define PBM_SETRANGE32         1030
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 67 guests