Página 1 de 1

GTWVW - tela splash com ProgressBar

Enviado: 24 Fev 2016 15:08
por microvolution
Pessoal, criei uma imagem para que seja colocada como tela de splash na abertura do sistema.
No cliente onde possui apenas uma máquina e essa máquina seja veloz, não dá nem tempo de ser ver a minha tela de splash, que é a seguinte:
16-0224 - tela 03 - splash.png
As linhas que fazem isso são:

Código: Selecionar todos

 Wvg_Image     ( 10 , 10 , 20 , 60 ,  , GOBJ_IMAGESOURCE_FILE, "Splash" , , .f. )
 Wvg_BoxRaised ( 10 , 10 , 20 , 60 )
Agora num cliente onde tem win server 2k3 e com 5 estações de trabalho, sendo 3 win xp/32, 2 win 7/64, o sistema demora uns 10 a 30 segundos para abrir...
Observem que coloquei uma frase na imagem de splash:
"carregando sistema..."
Então, queria algo assim...
próximo a essa frase, uma progressbar que executasse de acordo com a velocidade do sistema:
- na minha máquina (aqui de destes que não tem nada no banco de dados) não daria nem pra ver, mas que uma progressbar (horizontal) preenchesse com a velocidade da minha máquina (menos de 1 segundo);
- já no cliente com esse tanto de estações de trabalho, a PROGRESSBAR rodasse na velocidade da máquina dele.
Tentei o seguinte código (by professor JQuintas):

Código: Selecionar todos

STATIC FUNCTION TestProgressbar()

   LOCAL oProgressbar, nCont

   oProgressbar := wvtProgressbar():New( wvgSetAppWindow(), , 15, 5, 20, 70 )
   oProgressbar:Create()
   oProgressbar:Activate()
   FOR nCont = 1 TO 100
      oProgressBar:Display( nCont, 100 )
      Inkey(0.02)
   NEXT
   oProgressbar:Destroy()
   oProgressbar:Deactivate()
RETURN NIL
Mas, não sei como fazer para ela funcionar...
Pode ser algo simples, bobo ou até idiota de se perguntar... mas, estou sempre em construção... e o que pode ser para muitos, uma questão de simplicidade, para mim pode ser muito difícil... e o que pode ser difícil para alguém para mim pode ser muito simples...
por exemplo (só para quebrar o gelo):
tocar (solo) o hino nacional brasileiro no violão com olhos fechados? pra mim é extremamente fácil!
entenderam?
enfim, alguém pode me ajudar com essa "coisa difícil"?

GTWVW - tela splash com ProgressBar

Enviado: 24 Fev 2016 16:20
por microvolution
Senhores, tentei o seguinte código também e deu a mensagem de erro que posto a seguir:

Código: Selecionar todos

**************** criar e depois chamar a progressbar wvg 24/2/16w *******
   oPBar2 := WvtProgressBar():New( oDlg, , 14, 129, 25, 137 )
   oPBar2:nBarColor  := WIN_RGB( 240, 240, 0 )
   oPBar2:cBackColor := "W/N*"
   oPBar2:lVertical  := .T.
   oPBar2:nDirection := 0
   oDlg:AddObject( oPBar2 )
   // oPBar2:cImage     := GetResource( "vouch1.bmp" )

   oPBar3 := WvtProgressBar():New( oDlg, , 26, 129, 36, 137 )
   oPBar3:nBarColor  := WIN_RGB( 240, 240, 0 )
   oPBar3:cBackColor := "W/N*"
   oPBar3:lVertical  := .T.
   oPBar3:nDirection := 1
   oDlg:AddObject( oPBar3 )
   // oPBar3:cImage     := GetResource( "vouch1.bmp" )

   oBtn2 := WvtPushButton():New( oDlg, 124, 9, 129, 12, 137 )
   oBtn2:cFileImage := aImg_[ 3 ]
   oBtn2:block      := {|| ExeProgressBar( oPBar2, oPBar3 ) }
   oBtn2:Tooltip    := "Execute Progress Bar"
   oDlg:AddObject( oBtn2 )
   oDlg:Create()
   oDlg:Execute()
**************** criar e depois chamar a progressbar wvg 24/2/16w *******
  
  
  
  Wvg_Image     ( 10 , 10 , 20 , 60 ,  , GOBJ_IMAGESOURCE_FILE, Splash , , .f. )
a última linha acima, já existia, que é a minha imagem de splash, como postei anteriormente.
A mensagem de erro é:

Código: Selecionar todos

Error BASE/1004  No exported method: ADDOBJECT
Called from ADDOBJECT(0)  
Called from MAIN(180)  
a linha 180 é esta:

Código: Selecionar todos

   oDlg:AddObject( oPBar2 )
Com certeza a outra linha oDlg:AddObject( oPBar3 ) também gerará o mesmo erro.
Ah! falta outra parte do código:

Código: Selecionar todos

*********************************** executar a progressbar 24/2/16w ********************
STATIC PROCEDURE ExeProgressBar( oPBar, oPBar3 )
   LOCAL i

   oPBar:Activate()
   oPBar3:Activate()
   FOR i := 1 TO 100
      oPBar:Display( i, 100 )
      oPBar3:Display( i, 100 )
      hb_idleSleep( 0.3 )
   NEXT
   oPBar:DeActivate()
   oPBar3:DeActivate()
RETURN
O código foi retirado do original GTWVG/TESTS/_WVTCLS.PRG
Ou seja, não pertence à GTWVW e sim à GTWVG.
Coloquei no meu .HPB a referência à GTWVG e também o #require "GTWVG"
Enfim, não funcionou!

GTWVW - tela splash com ProgressBar

Enviado: 25 Fev 2016 19:01
por JoséQuintas
Simplificando: está fazendo uma perfeita zona.

- Não se mistura GTWVW e GTWVG, não tem nada a ver uma com a outra.

- Novamente o erro básico: variável não existe
Não está copiando fonte direito: copiar fonte pela metade não adianta, tem criação de variável que está faltando.

- Não adianta encher de perguntas seguidas, de assuntos diferentes, vai ficar sem resposta pra parte das perguntas.

Crie fontes novos usando -w3 -es2.
Vai ajudar a resolver muitos dos seus problemas.

GTWVW - tela splash com ProgressBar

Enviado: 25 Fev 2016 23:31
por microvolution
opa... obrigado por prontamente nos responder!
Então, eu não entendo nada de clipper (reconheço isso), de harbour muito menos... agora de LIB pioooorou mais ainda!
JoséQuintas escreveu:- Não se mistura GTWVW e GTWVG, não tem nada a ver uma com a outra.
Ninguém havia me dito que não se podia misturar, aliás, o que se tem são perguntas, perguntas, perguntas, e poucas respostas...
antes de perguntar algo, fico aqui 2 ou 3 dias, quase 18 horas/dia sentado com a "busanfa" na cadeira ("disconfortávi") e só cansando a mente...
por isso do título: GTWVW tela de splash...
Como farei um progressbar na GTWVW se não existe (pelo menos na pasta tests não encontrei) e só na "wvg" é que tem?
Então, como funciona mesmo as LIBs se o que o pessoal (não importa a fonte) tem me passado é:
- para tal funcionalidade, add a lib tal;
- para o pdf, add mais tais libs;
- para selectcodepage, lib beltrana;
- para messagebox (gráficas), lib ciclana, etc, etc...
e aí por afora se vai...
E, daí a confusão toda na minha cabeça!
Era melhor então, ter ficado no clipper, pois ao migrar usei a HMG xxxxx versões... aí o nobre professor me apresentou algo mais fácil de se colocar tela gráfica: GTWVG...
de repente e, sem querer, precisei de alguma função que pertencia à GTWVW, então... parti para o abraço...
Percebi que o pessoal dá mais atenção à HMG e HWGUI... e menos atenção à GTs WVW, WVG, WVT...
A não ser o prezado JQuintas, que tem respondido a muitas LIBs...
JoséQuintas escreveu:Crie fontes novos usando -w3 -es2.
Vai ajudar a resolver muitos dos seus problemas.
O meu sistema é muito grande... e se num pequeno teste com essa configuração, já encheu de mensagens... imagina no meu sistema...
aliás, foi o caro professor quem disse que usar o "tolerância zero" é uma coisa pra longo prazo...
rs

GTWVW - tela splash com ProgressBar

Enviado: 26 Fev 2016 10:56
por JoséQuintas
Leve outra coisa em consideração:
Se colocar comandos de uma LIB gráfica, não vai mais poder usar aquele fonte pra outra LIB gráfica.

Agora só lembrar o que eu disse no começo:
Melhor investir em melhorar os fontes, isso não prende em nenhuma LIB gráfica.
Mesmo que decida ir pro Delphi, esses fontes vão te acompanhar por pelo menos um ano.
Quanto melhores os fontes, menos dor de cabeça.
Durante esse processo, qualquer "botão" já vai ser vantagem.

GTWVW - tela splash com ProgressBar

Enviado: 17 Mar 2016 19:42
por JoséQuintas
Cheguei nesta página hoje.
É uma coisa que o Windows deixa disponível pra uso.
Não que seja fácil usar, ou que qualquer um consiga usar.
Ainda não tentei criar esse controle na GTWVG.

https://msdn.microsoft.com/en-us/librar ... s.85).aspx

GTWVW - tela splash com ProgressBar

Enviado: 17 Mar 2016 20:26
por microvolution
JoséQuintas escreveu:Cheguei nesta página hoje.
JoséQuintas escreveu:Leve outra coisa em consideração:
microvolution escreveu:opa... obrigado por prontamente nos responder!
Prezado professor, dia 25/02/16 e 26/02 você já havia respondido...
Então, não compreendi nada de sua postagem de hoje! :%

GTWVW - tela splash com ProgressBar

Enviado: 17 Mar 2016 21:15
por JoséQuintas
É que quando cheguei na página lembrei desta pergunta.
Existe o controle pronto no Windows, mas não foi adicionado na GTWVG.
E como todo controle Windows, é uma "janela".

GTWVW - tela splash com ProgressBar

Enviado: 17 Mar 2016 22:55
por microvolution
JoséQuintas escreveu:Existe o controle pronto no Windows, mas não foi adicionado na GTWVG.
agora que você falou novamente, entendi... e acessei o link e pude ver... só não sei como usar isso no harbour e em suas libs.