"Começando" com GUI
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
"Começando" com GUI
Mas provavelmente o problema é só esse.
Ao usar uma janela MAIN da HMG, ao fechar a janela também fechou o aplicativo, o que deixou a GTWVG perdida sem retorno.
Usar MAIN OFF deve resolver o problema, pelo menos do travamento.
Mas vai devagar, primeiro uns testes simples, antes de colocar oficialmente no aplicativo.
E depois que funcionar, continue fazendo mais testes, pra ter certeza de que vai estar funcionando do jeito que deve.
Pode acontecer de funcionar em uma situação e em outra não, já que se trata de GUI, várias rotinas rodando ao mesmo tempo, sem um ponto exato de entrada e/ou saída do módulo/janela.
Ao usar uma janela MAIN da HMG, ao fechar a janela também fechou o aplicativo, o que deixou a GTWVG perdida sem retorno.
Usar MAIN OFF deve resolver o problema, pelo menos do travamento.
Mas vai devagar, primeiro uns testes simples, antes de colocar oficialmente no aplicativo.
E depois que funcionar, continue fazendo mais testes, pra ter certeza de que vai estar funcionando do jeito que deve.
Pode acontecer de funcionar em uma situação e em outra não, já que se trata de GUI, várias rotinas rodando ao mesmo tempo, sem um ponto exato de entrada e/ou saída do módulo/janela.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
"Começando" com GUI
sim... claro e obrigado.MSDN escreveu:A solução para o seu problema já estava feita, como fui eu quem fez essa tela e essa rotina
o detalhe, não está no setproperty...
parece q ao fechar o form, as libs não se comunicam.
então, o GET (que é 100% harbour) não recebe da FORM_HMG que acabou de fechar o valor que a função repassa.
Ou teremos que tentar outra solução, ou, fazer tudo em GTWVG, ou tudo 100% harbour, ou tudo HMG 100% GUI...
Pelo que entendi do exemplo do Quintas usando HARBOUR (CONSOLE) + pesquisa em (HWGUI ou HMG-E) o valor foi retornado.
Vamos tentando aqui achar o erro...
vlw!
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
"Começando" com GUI
como eu disse, fiz um teste aqui usando o tradicional TBROWSEDB.JoséQuintas escreveu:Ao usar uma janela MAIN da HMG, ao fechar a janela também fechou o aplicativo, o que deixou a GTWVG perdida sem retorno.
Percebo então 2 situações (USANDO APENAS HAROUR 3.2 + GTWVG):
- 1 ) se usar o TBROWSE em 100% console, apesar da tela ficar muito estranha pois os gráficos ficam embolados junto com a tela que chamou - no caso a main que usa os DRAWs da GTWVG, mas, assim que pressionamos ENTER essa tela (toda mistura) encerra e o GET recebe o código que a gente realmente precisa;
- 2 ) se eu acrescenter o WVGCRT pra separar as telas - só isso, já faz com que ao pressionar o ENTER o objeto TBROWSEDB não retorna para o GET com os valores.
O que concluo:
- a ) se fizer uma tela principal em gráficos da GTWVG que chama a pesquisa feita em HMG, ao fechar o form não temo como repassar para o GET pelo SETPROPERTY, pois a função SETPROPERTY pelo que eu saiba é exclusiva da HMG e na GTWVG não há formulários declarados;
- b ) se eu fizer a tela em GTWVG e chamar um simples TBROWSEDB comum, funciona e repassa de volta as informações para o GET. Mas, a tela fica embolada, por misturar gráficos da GTWVG com CONSOLE. E, pelo que sabemos, os gráficos tem prioridade após desenhados;
- c ) se fizer a alteração na pesquisa usando o objeto WVGCRT() a tela não mais embola, mas, ao der o ENTER a informação não volta para o GET.
Como compilo de dentro da IDE/HMG 3.4.4 que tem na contrib\gtwvg e não possui nativamente a HWGUI, pra fazer o teste do Jquintas, não realmente o que fazer.
O que sei, e, que tento sempre dizer, que o sistema está funcionando do jeito que está, mas, aos poucos preciso ir acrescentando os gráficos e isso já temos feito.
Agora a tela PDV gentilmente oferecida pra todos nós pelo MSDN, pra funcionar no meu caso, eu preciso de estar com tudo 100% em HMG, pois o SETPROPERTY() não transfere para GTWVG.
vou continuar aqui "googlequizando" pra ver se encontro e, outros que estiverem essa mesma dúvida/curiosidade possam ser beneficiados, para o bem comum de nossa linguagem que já deu um passo ao sair do 16b vindo para 32b e 64b.
Abraços!
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
"Começando" com GUI
E porque elas teriam que se comunicar?parece q ao fechar o form, as libs não se comunicam.
Console é console, GUI é GUI, mas.... Harbour é Harbour !!!
Já tentou ChamarRotina( @Variável ) ?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
"Começando" com GUI
Mas pera aí....
Se não me engano, no post tem rotina em HWGUI e em HMG.
Provavelmente na rotina em HMG tem o que usei.
Se não me engano, no post tem rotina em HWGUI e em HMG.
Provavelmente na rotina em HMG tem o que usei.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
"Começando" com GUI
sim HWGUI e não HMG, mas, sim HMG-E, pois lá tem um #include "super.ch" q não existe na HMG-3.JoséQuintas escreveu:Se não me engano, no post tem rotina em HWGUI e em HMG.
Mas, vc me despertou uma ideia, vou tentar usar o seu código, e, adaptá-lo à HMG e posto aqui o resultado pra compartilhar com todos.
sim e não.JoséQuintas escreveu:Já tentou ChamarRotina( @Variável )
Mas, vou usar de um jeito aqui diferente, pois já q vc me "abriu" um leque dizendo que:
- GUI x GUI se comunicam;
- CONSOLE x CONSOLE se comunicam;
- CONSOLE x GUI não se comunicam;
- GUI x CONSOLE não se comunicam;
mas,
- HARBOUR x HARBOUR se comunicam.
Então, vou pensar numa forma em que a variável seja preenchida... vou testar...
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
"Começando" com GUI
agora no DEMOWVG (vouch) tem dentro de si um exemplo do _TBROWSE.PRG, mas, achei muito complexo e nele não tem nenhum ENTER ou CLIQUE DUPLO para pegar o valor e devolver para o DEMOWVG.
Tentei adaptar mas achei muito complexo o entendimento.
Vou continuar aqui tentando possibilidades e "jogar pedra em avião", quem sabe rsrsrsrsrs... só pra descontrair...
Tentei adaptar mas achei muito complexo o entendimento.
Vou continuar aqui tentando possibilidades e "jogar pedra em avião", quem sabe rsrsrsrsrs... só pra descontrair...
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
"Começando" com GUI
É que ele é... GUI !!!agora no DEMOWVG (vouch) tem dentro de si um exemplo do _TBROWSE.PRG, mas, achei muito complexo
É pra ser usado como controle dentro de uma janela DIALOG.
Veja aqui a janela DIALOG com dois tbrowse e outras coisas mais.
Ou o mais interessante: é um controle de usuário desenvolvido em Harbour !!
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
"Começando" com GUI
e agora piorou mais ainda o puro código harbour + gtwvg pois o Viktor parece que mudou para "homebrew" e deixou de vez o harbour.
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
"Começando" com GUI
bom voltando aqui nos testes da GTWVG ...
No caso do TBROWSEDB com uso da WVGCRT, se colocarmos as linhas para encerramento da janela MODAL, os dados são perdidos.
Então, temporaria e provisoriamente, acrescentei uma linha antes das 2 linhas acima para passar ao GET o valor da variável (que já é PRIVATE no módulo), ficando as 3 linhas assim:
É uma solução, mas, paliativa, pois o correto é da forma anterior. Mas, como a anterior ao usar o DESTROY os valores também se perdem, usarei dessa forma, até encontrar uma solução que liga os dois formulários da GTWVG, os quais são:
- o que cria a tela do PDV e que chama a PESQUISA();
- o da PESQUISA que também é um WVGCRT e que encerra e volta para o PDV.
Abraços!
Código: Selecionar todos
oCrt:Destroy()
WvtSetPaint( aPnt )Então, temporaria e provisoriamente, acrescentei uma linha antes das 2 linhas acima para passar ao GET o valor da variável (que já é PRIVATE no módulo), ficando as 3 linhas assim:
Código: Selecionar todos
mCDPRODUTO:=VALOR
oCrt:Destroy()
WvtSetPaint( aPnt )- o que cria a tela do PDV e que chama a PESQUISA();
- o da PESQUISA que também é um WVGCRT e que encerra e volta para o PDV.
Abraços!
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
"Começando" com GUI
Porque raios quer fazer uma janela GTWVG dentro de outra janela GTWVG? Ainda mais de um browse?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
"Começando" com GUI
porque não sei fazer de outra forma.JoséQuintas escreveu:Porque raios quer fazer uma janela GTWVG dentro de outra janela GTWVG? Ainda mais de um browse?
Bom, como diz o título criado por você mesmo "começando com GUI"...Vou jogando pedras, até acertar...
Estou com meu sistema em modo console.
Aí faço uma tela gráfica, seja em HMG ou GTWVG, enfim não importa...
Ela precisa de informações de um .PRG só de rotinas que está em modo CONSOLE.
Então, pra funcionar, preciso ir adaptando cada função de acordo com a necessidade.
Então, o sistema está assim:
- 96% harbor 100% console;
- criando esse novo módulo em HMG (pois tudo que testo na HMG tento fazer na GTWVG), aí fiz essa tela PDV (créditos do MSDN), ela funciona e retorna ao modo CONSOLE (main menu CONSOLE) perfeitamente;
- pra pesquisar o produto, preciso de uma tela também gráfica, senão, as telas ficam emboladas;
- depois que a tela de pesquisa está satisfeita, é necessário retornar à anterior, que nem a gente já fazia em clipper...
poxa, será tão difícil assim em LIB GRÁFICA?
...
vou continuar jogando pedras, até acertar...
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
"Começando" com GUI
antes, vou tentar descansar um pouco... 02:22hs hora de Brasília.
fui...
té breve!
fui...
té breve!
"Começando" com GUI
Primeiro de tudo, faça um curso de lógica de programação, aprenda os conceitos do Harbour, saiba o que está fazendo, da forma como está fazendo, está jogando fora o seu tempo e dos outros, vc não respeita nem vc mesmo.
Já falei antes, e outros programadores tbem, vc não segue a lógica das coisas, atropela regras, quer fazer coisas que não funcionam, colocar uma peça quadrada em um espaço redondo não dá !
Já falei antes, e outros programadores tbem, vc não segue a lógica das coisas, atropela regras, quer fazer coisas que não funcionam, colocar uma peça quadrada em um espaço redondo não dá !
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
"Começando" com GUI
Primeiro de tudo, faça um curso de lógica de programação, aprenda os conceitos do Harbour, saiba o que está fazendo, da forma como está fazendo, está jogando fora o seu tempo e dos outros, vc não respeita nem vc mesmo.
Já falei antes, e outros programadores tbem, vc não segue a lógica das coisas, atropela regras, quer fazer coisas que não funcionam, colocar uma peça quadrada em um espaço redondo não dá !
Já falei antes, e outros programadores tbem, vc não segue a lógica das coisas, atropela regras, quer fazer coisas que não funcionam, colocar uma peça quadrada em um espaço redondo não dá !
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
