tprogress y windows vista

User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Jose Luis,

Curiosidad "geek" :-) :

Estas usando ya Leopard ? Que "geekbench" te da tu máquina ? http://www.primatelabs.ca/geekbench

Y Xbench ?
http://www.xbench.com/
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
José Luis Sánchez
Posts: 484
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España
Contact:

Post by José Luis Sánchez »

Lo uso nativo, instalado con BootCamp. Probé Parallels pero el refresco del teclado era muy lento, asi que lo dejé estar.
Al final la solución pasará por el WaitSeconds, pero tengo que ver también lo del tamaño del meter, que parece que no funciona igual que en XP.

Saludos,
User avatar
José Luis Sánchez
Posts: 484
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España
Contact:

Post by José Luis Sánchez »

Antonio, uso Tiger. Todavía me queda mucha tela que aprender ahi como para pasar a Leopard. Y también está lo de los 129 euros, que también hay que pagarlos y la cosa se amontona.
Desconocía lo del GeekBench, cuando vuelva a arrancar en OS X te cuento.

Saludos,
User avatar
José Luis Sánchez
Posts: 484
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España
Contact:

Post by José Luis Sánchez »

Antonio,
el geekbench de 32 bits en mi equipo con Windows Vista es de 2076.

Saludos,
User avatar
José Luis Sánchez
Posts: 484
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España
Contact:

Post by José Luis Sánchez »

User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

gracias! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
José Luis Sánchez
Posts: 484
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España
Contact:

Post by José Luis Sánchez »

Antonio, insisto en lo de los meter. Mira el siguiente ejemplo:

Code: Select all

// FiveWin Win32 common controls sample

#include "FiveWin.ch"

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

function Main()

   local oDlg, oTabs, oSay, oProgress, oAnimate ,oSay1,oSay2 , nAVI := 1

   DEFINE DIALOG oDlg RESOURCE "Main"

   REDEFINE SAY oSay ID 100 OF oDlg
   oProgress = TProgress():Redefine( 120, oDlg )
   oDlg:bStart := { || SysRefresh(), Ut_CrearNTX(oSay, oProgress),;
                            oDlg:End() }

   ACTIVATE DIALOG oDlg CENTERED

return nil

//-----------------------------------------------------------------------------//
function Ut_CrearNTX(oSay, oProgress)
   local nProgress:= 0
   field first, last

   if File("CUSTOMER.NTX")
      delete file "customer.ntx")
   endif
   USE Customer NEW

	MsgAlert(LastRec())
   oProgress:SetRange(0, RecCount())
   oProgress:SetPos( 0 )
   nProgress:= 0
   sysrefresh()
   INDEX ON first+last TO "CUST01" FOR ! Deleted();
   	EVAL (oProgress:SetPos(nProgress++), oSay:SetText(nProgress), Sysrefresh()) EVERY 1
   Msginfo(nProgress)
   DbCloseAll()
return nil
con este RC

Code: Select all

1 24 "WinXP/WindowsXP.Manifest"

#include "..\include\WinApi.ch"

LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US

MAIN DIALOG DISCARDABLE 110, 41, 262, 71
STYLE WS_POPUP|DS_MODALFRAME|WS_CAPTION|WS_SYSMENU|WS_VISIBLE
CAPTION "Vista Progressbar"
FONT 8, "MS Sans Serif"
BEGIN
  CONTROL "", 120, "msctls_progress32", 0x00000000, 12, 20, 240, 20
  CONTROL "Text", 100, "Static", WS_GROUP, 12, 48, 240, 8
END
En XP funciona perfecto. En Vista, si le quitas la linea del RC donde carga el .manifest funciona bien, pero si le pones en .manifest ya no llega al final, se queda como al 25% del control. El ejemplo usa la dbf que hay en fivewin/samples.
Saludos,
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

José Luis,

Parece una cuestión de pintado de Windows, porque asi se rellena la barra completamente:

Code: Select all

   INDEX ON first+last TO "CUST01" FOR ! Deleted(); 
      EVAL (oProgress:SetPos(nProgress++), MsgInfo( nProgress ), oSay:SetText(nProgress), Sysrefresh()) EVERY 1 
regards, saludos

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

Post by Antonio Linares »

José Luis,

Hay que usar los métodos SetStep() y StepIt() y asi sí completa:

Code: Select all

   oProgress:SetRange( 0, RecCount() )
   oProgress:SetStep( 2 ) 
   nProgress:= 0 
   sysrefresh() 
   INDEX ON first+last TO "CUST01" FOR ! Deleted(); 
      EVAL ( oProgress:SetPos( nProgress++ ),;
             If( nProgress < RecCount(), oProgress:StepIt(),),;
             oSay:SetText( nProgress ), SysRefresh()) EVERY 1 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
José Luis Sánchez
Posts: 484
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España
Contact:

Post by José Luis Sánchez »

Antonio,
en XP funciona bien así. Esta noche lo pruebo en Vista.
Gracias,
User avatar
Anderson.OL
Posts: 92
Joined: Thu Feb 15, 2007 11:37 am
Location: Itaocara - RJ - Brasil
Contact:

Post by Anderson.OL »

José Luis Sánchez wrote:Antonio,
en XP funciona bien así. Esta noche lo pruebo en Vista.
Gracias,
Estou com este problema tambem!

Isto foi solucionado?
FiveWin 9.03 + xHarbour !!
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Anderson,

No, aún no hemos dado con la solución.

De hecho lo estamos comentando estos dias en el foro en inglés:
http://fivetechsoft.com/forums/viewtopic.php?t=10194
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply