Página 1 de 3

Menu HWGUI com aplicativo

Enviado: 09 Mar 2024 00:43
por cjp
Verdade. Desculpe.
Agora finalmente deu certo a compilação. Precisei incluir também a xhb.hbc e a hbwin.hbc. Mas finalmente compilou. Estou finalmente usando a versão 2.23.
Vi um primeiro problema nessa mudança de versão: o campo para digitação da senha, que na versão anterior ficava em branco, agora é preenchido com vários *****. E pior: mesmo selecionando todos os **** e digitando por cima, ele não apaga os ****. Preciso apagar manualmente depois de digitar a senha, algo que o usuário vai ter certa dificuldade para entender.
Mas testei o menu agora, e ainda assim não funcionou, está dando erro. Copiei o modelo do tutorial, para testar.
O erro:
Error BASE/1086 Argument error: ++
Called from (b)HWG_ERRSYS(20)
Called from HWG_BEGINMENU(204)
Called from MAIN(34)

HWGUI 2.23 Build 7
Date:09/03/24
Time:00:22:00
A função está assim:

Código: Selecionar todos

#include "hwgui.ch"
MEMVAR cnSQL

FUNCTION Main
         Local cRet, oSay1, oSay2, oSay3, nId, cTxt, oMain
		 Local oFont := HFont():Add( "MS Sans Serif",0,-13 )
		 private vers :="12/07/22"
		 private oDlg, cnSQL, us, nmus, seis
		 private cSair :="N"
		 private hrabertura :=time()
		 private nProvAtiv :=3

		 set date brit
		 
         PREPARE FONT oFont NAME "MS Sans Serif" WIDTH 0 HEIGHT -13
         PREPARE FONT oFontSay NAME "MS Sans Serif" WIDTH 0 HEIGHT -13 WEIGHT 700
 
		 do while .t.
		    if us=NIL
		       cRet=login()
			endif

            INIT DIALOG oDlg TITLE "Processos - Versão: "+substr(vers,7,2)+"."+substr(vers,4,2)+"."+substr(vers,1,2) AT 1, 1 SIZE 650, 600 FONT oFont

            MENU OF oMain
                 MENU TITLE "&Finalizar"
                      MENUITEM "&Message" ACTION hwg_Msginfo( "Just a test", "Message" )
                      SEPARATOR
                      MENUITEM "&Exit" ACTION ConfirmarFechar()
                 ENDMENU

                 MENU TITLE "&Consultar"
                      MENUITEM "&About" ACTION hwg_Msginfo( HwG_Version(), "About" )
                 ENDMENU
            ENDMENU

            @ 0,110  BITMAP        Bitmap1 ;
             SHOW          "ImagemLondres.jpg" ; 
             STRETCH       0 ;
             SIZE          650,430 //nWidth, nHeight - 65

   
			if cRet="N" .or. cSair="S"
			   return .f.
				   
			elseif cRet="S"
			   
               @ 0,5 BUTTON "Finalizar (Esc)" SIZE 140,50 ON CLICK {||ConfirmarFechar()}
			   
               @ 170,5 BUTTON "Consultar" SIZE 140,50 ;
                 ON CLICK {||consulta()}

               @ 340,5 BUTTON "Cadastrar" SIZE 140,50 ;
                 ON CLICK {||cadastro()}
     
               @ 510,5 BUTTON "Manutenção" SIZE 140,50 ;
                 ON CLICK {||manutencao()}

			endif

            ACTIVATE DIALOG oDlg

			if lastkey()=27
			   if confirmarfechar()="S"
			      return .f.
			   else
			      loop
			   endif
			endif

		 enddo
Return		 
A linha 34, indicada na mensagem de erro, é esta:

Código: Selecionar todos

            MENU OF oMain
Não consigo entender este erro.

Achar as libs nas pastas usando .hbc -> hbmk2

Enviado: 09 Mar 2024 04:36
por alxsts
Olá!
cjp escreveu:Agora finalmente deu certo a compilação
Parabéns!

E lá vamos nós... tudo outra vez...
https://pctoledo.org/forum/viewto ... it=On+init

Menu HWGUI com aplicativo

Enviado: 10 Mar 2024 13:37
por Itamar M. Lins Jr.
Olá!
Aqui:
INIT DIALOG oDlg
no seu código. É uma DIALOG com o nome do objeto(CONTROLE ou Nome da Dialog) -> oDLG
Mais abaixo vc coloca:
MENU OF oMain
Pede para criar um MENU na oMAIN. Quem é oMain ? Quem é esse controle ?
Então faça como está no exemplo que vc copiou PARCIALMENTE. Copiar e colar sem ESTUDAR um pouco, não precisa estudar muito não.
No exemplo esta assim:

Código: Selecionar todos

INIT WINDOW oMain MAIN TITLE "My Second HwGUI sample" AT 100, 100 SIZE 400, 300
 MENU OF oMain
Veja que está diferente do seu.
DIALOG é uma coisa UMA WINDOW ... MAIN é outra coisa. É a janela PRINCIPAL DO SISTEMA. ok ?

Pergunta uma coisa de cada vez... Vamos mais devagar.

Saudações,
Itamar M. Lins Jr.

Menu HWGUI com aplicativo

Enviado: 10 Mar 2024 14:00
por Itamar M. Lins Jr.
Olá!
Tem outros códigos desnecessário "Do while..."
A WINDOW ou DIALOG com END WINDOW ou END DIALOG é o "DO WHILE ... com ENDDO"
Mas não vamos nos ater a isso por enquanto.
Basta entender o que é uma "WINDOW MAIN" x "DIALOG"
E que os controle ABAIXO de cada uma devem CHAMAR POR ELA.
Se vc usa INIT WINDOWS oMAIN -> Aqui o nome do CONTROLE(objeto), então abaixo disso só podemos usar "of tal controle no caso oMain"
Então INIT DIALOG oDLG os controles abaixo CHAMAM, se "GRUDAM(dentro)" nela.
OF oDLG
Abaixo os controle chamam por: Se começar oMain será "of oMain" caso DIALOG então "of oDlg" <-> Aqui o OBJETO que tem vários OBJETOS(controles) dentro.
MENU OF oMAIN
MENU OF oDLG
Browse OF oDLG
BUTTON OF oDlg, OWNERBUTTON OF oDLG, quer dizer controle que pertence(dentro) de tal objeto que é um controle também.

Saudações,
Itamar M. Lins Jr.

Menu HWGUI com aplicativo

Enviado: 10 Mar 2024 23:09
por JoséQuintas
Inácio

Antes de prosseguir com os testes, confirme se alguém usa a versão atual de hwgui.
Pode estar apenas perdendo tempo.

Menu HWGUI com aplicativo

Enviado: 11 Mar 2024 00:11
por cjp
Realmente, foi bobeira minha.
Acertei o código e agora funcionou.
Muito obrigado a todos os que tiveram paciência para me ajudar.
Antes de prosseguir com os testes, confirme se alguém usa a versão atual de hwgui.
Pode estar apenas perdendo tempo.
Ué, não foi por isso que eu mudei para a versão 2.23?
Como faço para confirmar isso?

Menu HWGUI com aplicativo

Enviado: 11 Mar 2024 08:10
por JoséQuintas
cjp escreveu:Ué, não foi por isso que eu mudei para a versão 2.23?
Como faço para confirmar isso?
http://pctoledo.com.br/forum/viewtopic.php?f=46&t=27473

Talvez o problema de usuário/senha que mencionou também seja bug.

Estou igual você, tentando entender.

A versão 2.17 é de 5 anos atrás.
Depois mudou, e vém sendo atualizada há 5 anos.
A única possibilidade que vejo é ninguém usando hwgui atual por mais de 5 anos.
Continua não fazendo nenhum sentido pra mim.
Inclusive me perguntando se vale a pena usar uma lib que ninguém se importa com ela....

Menu HWGUI com aplicativo

Enviado: 11 Mar 2024 11:32
por cjp
Triste isso! Agora que eu comecei a aprender!
Qual seria a solução? Qual é a melhor opção?
Estive dando uma pesquisada em VB, mas, além de ser uma linguagem totalmente nova pra mim (teria que aprender tudo do zero), parece que ela também está meio desatualizada.

Menu HWGUI com aplicativo

Enviado: 11 Mar 2024 21:15
por JoséQuintas
Tava pensando aqui: há dois pontos básicos:

1) Acostumar com a programação Windows, que não tem nada a ver com console
2) Acostumar com a LIB gráfica

Já que está em andamento o teste, usando mais de uma dialog, vai até o fim.
Talvez pra acostumar com GUI, e ajudar um pouco o mundo hwgui relatando defeito que encontrar.
Seriam a dialog de login, dialog de menu, e uma dialog adicional de um módulo qualquer, provavelmente com browse.

Qualquer que seja a lib, vai ter que entender o funcionamento dessas dialogs/telas, que não é igual console.
Já tem boa parte desse processo aí.
Então deixa a complicação de começar de novo em outra lib pra depois disso, se decidir fazer isso.
Apenas termine de acertar esses fontes pra ver o que dá, e depois acrescente mais um.

Menu HWGUI com aplicativo

Enviado: 12 Mar 2024 01:03
por cjp
Estou prosseguindo neste projeto sim.
Quero colocá-lo em uso de verdade (ultrapassar a fase de teste), e pra isso preciso resolver apenas dois pequenos problemas:
1) a questão da senha; do jeito que está, não posso disponibilizar para os usuários (pessoas sem muito conhecimento de informática), pois terão dificuldade de uso;
2) a forma de esta nova versão abrir outras janelas. Explico: como este meu programa é bastante complexo (cerca de 40.000 linhas de prg), a ideia é ir fazendo na hwgui aos poucos; na parte ainda não feita, abrirei outra tela em modo console; na versão 2.17, isso estava funcionando bem; mas nesta 2.23, ele está abrindo esta tela console em backgroud, o que também não serve para meus usuários. Já pesquisei formas de mudar isso, mas ainda não consegui. Consegue me ajudar nisso?

Menu HWGUI com aplicativo

Enviado: 12 Mar 2024 10:40
por JoséQuintas
Então, já que todos usam hwgui 2.17, e você menciona que lá as coisas funcionam, sua saída vai ser usar a mesma versão.

Apague a hwgui 2.23
Copie a 2.17 do A Simões, pra pasta addons

Primeira coisa:
Compilar hwgui com seu harbour 3.2
Ver se é compatível com ele.
Se não for, talvez precise outra versão, alguém talvez possa indicar.

Segunda coisa:
O mesmo referente ao aplicativo que está testando.
Apenas compilar até chegar ao final, pra confirmar se tudo ok com a compilação

Ficando igual todo mundo, vai funcionar a ajuda de todo mundo.

Sinceramente, não sei se serve de referência pra download, outros poderão dizer:

https://sourceforge.net/projects/hwgui/files/hwgui/
hwgui.png
Nota:
vale a mesma coisa da 2.23, colocando como sub-pasta da harbour\addons não deve precisar configuração adicional
É compilar hwgui, e depois compilar o aplicativo.

Menu HWGUI com aplicativo

Enviado: 12 Mar 2024 11:05
por Itamar M. Lins Jr.
Olá!
Vou explicar mais uma vez a questão de versões OBSOLETAS, descontinuadas da Hwgui.
A versão 2.17 foi dividida.
Porquê foi dividida ? Foi dividida pq os GURUS brasileiros não usam LINUX!!!! Eles encheram o código da Hwgui principalmente "hbrowse.prg"
com códigos "for windows" foi por isso. Só rodava no Windows.
O que foi reportado na época da divisão, foi colocado na pasta de controles estendidos! a Hbrowse.prg dessa pasta só roda no windows.
Tem lá os metodos por exemplo:

Código: Selecionar todos

   METHOD SetRefresh( nSeconds ) SETGET
e o theme.c "for windows"
Não existe 2 versões da Hwgui.
O que existe são pessoas que não usam a Hwgui, não trabalham com a Hwgui e vivem copiando seu código pra lá e pra cá, mexe, mexe, mexe... depois deixa pra lá. Fica parada 2, 3, 4, anos depois começa tudo novamente, pegam a Hwgui do repositório do Kresin, muda, corrige, muita ou pouca coisa, mas fica no repositório deles, o Kresin vem atualiza o dele, corrige bugs de maneira muito mais simples e o ciclo se repete.

Tem uma NOTA lá que a Hwgui será migrada para GTK 3.0, pois a Hwgui ainda roda GTK 2.0

Código: Selecionar todos

- LINUX with gcc and GTK V2.
  (GTK V3 is under construction)
Então quem FOR AJUDAR, MEXER na Hwgui tem que respeitar isso.

Então, vamos ao que interessa.
1) a questão da senha; do jeito que está, não posso disponibilizar para os usuários (pessoas sem muito conhecimento de informática), pois terão dificuldade de uso;
No campo SENHA o ESPAÇO faz parte da senha!
Ao invés de usar cSenha:=space(10), use cSenha := "" ou seja um campo caractere sem espaços!

If pad(cSenha,10) == cAlias->senha ....
Coloque os espaços em branco "SE FOR O CASO" quando for comparar ou use o sinal de "=". Assim "==" quer dizer EXATAMENTE igual, leva em consideração os espaços em branco da esquerda e usando apenas "=" não leva em consideração.
2)...abrirei outra tela em modo console; na versão 2.17, isso estava funcionando bem; mas nesta 2.23, ele está abrindo esta tela console em backgroud...
A versão 2.23 tem uma coisa muito melhor que a GTHWG!!!!
Permite trabalhar da forma como GTWVG com os comandos da HWGUI, veja os exemplos. Não me interessei, mas o Kresin usa para os "DIVERSOS" projetos que ele faz. Tem um EDITOR de TEXTOS(Win/Linux) que ele usa.

Saudações,
Itamar M. Lins Jr.

Menu HWGUI com aplicativo

Enviado: 12 Mar 2024 11:11
por Itamar M. Lins Jr.
Olá!
2) a forma de esta nova versão abrir outras janelas.
Captura de tela 2024-03-12 111339.png
Obeserve a GTHWG, totalmente integrada NATIVA com a HWGUI.

Tá na pasta contribs\gthwg\tests o exemplo. Nativa no Windows e no Linux.
GTWVW, GTWIN, GTWVG, GTWVT são do windows apenas.

Saudações,
Itamar M. Lins Jr.

Menu HWGUI com aplicativo

Enviado: 12 Mar 2024 11:25
por Itamar M. Lins Jr.
Olá!
Eu uso a versão 2.23, o Valdomiro 2.2X, um francês, o mantedor Wilfried Brunken e principalmnte o Kresin usamos a versão ATUAL.
Que somos as pessoas mais ATIVAS usando.
A versão 2.17 tá toda presa no windows e no xHarbour, por isso o pessoal fica nesse reme, reme.... Só que eles não PROGRIDEM nesta versão, tem BUGS que eu nem lembro mais quais são. É só ver o que foi corrigido, adicionado esses anos todos.
Quem vai melhorar a versão 2.17 se vc achar um problema ? Vai ficar usando uma versão, mantida por uma pessoa que não tem nenhum interesse em melhora-la.
É a mesma coisa de falar para voltar a usar o CLIPPPER, o Windows 7...

Saudações,
Itamar M. Lins Jr.

Menu HWGUI com aplicativo

Enviado: 12 Mar 2024 11:44
por Itamar M. Lins Jr.
Olá!
Aqui o "melhor" editor de textos que existe!!! Pra ele é claro! GTHWG
https://kresin.ru/en/hbedit.html

Imagem

Um jogo com Hwgui.
Imagem

O debugador que ele fez primeiro!!! depois apareceram os outros.
Imagem

Então ele é um programador que faz as ferramentas(libs) para USAR, pra uso dele também.
A diferença é essa dai!

Saudações,
Itamar M. Lins Jr.