Faltou completar:
Talvez esse seja um dos casos aonde você precisa indicar o "pai", e não pode deixar automático.
Ao Itamar (outros também) sobre MINIGUI
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ao Itamar (outros também) sobre MINIGUI
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
Ao Itamar (outros também) sobre MINIGUI
Mas o que ninguém enxergou ainda, é que a API do Windows é uma merd. complicada.
O NET Framework é justamente uma maneira de usar rotinas que deixam essa merd. mais organizada, mais fácil de usar.
Se até a Microsoft deixou o uso de API de lado.... as LIBs insistirem nisso é.... enfrentar problemas antigos que deixaram de existir faz tempo.
Nem duvido que tudo isso vai acabar sendo bloqueado no Windows ou deixar de existir num futuro breve.
Há quanto tempo a Microsoft vém avisando que é pra usar o NET Framework?
Quase o mesmo tempo que veio avisando pra não usar DOS....
O NET Framework é justamente uma maneira de usar rotinas que deixam essa merd. mais organizada, mais fácil de usar.
Se até a Microsoft deixou o uso de API de lado.... as LIBs insistirem nisso é.... enfrentar problemas antigos que deixaram de existir faz tempo.
Nem duvido que tudo isso vai acabar sendo bloqueado no Windows ou deixar de existir num futuro breve.
Há quanto tempo a Microsoft vém avisando que é pra usar o NET Framework?
Quase o mesmo tempo que veio avisando pra não usar DOS....
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/
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ao Itamar (outros também) sobre MINIGUI
Sobre um comentário que fiz de GTWVG e multithread em conjunto:
O funcionamento das GUIs é conhecido:
nessa parte é igual console, tem um ponto de início e fim.
Se a GT é GUI ou se é WVG dá no mesmo (se é que na WVG não seja GUI também).
Nenhuma janela WVG precisa aparecer, pode permanecer oculta, se não mostrar nada em tela.
Um diferencial da WVG é que ela funciona em multithread, o que permite criar vários pontos de início e fim, pra qualquer GUI.
NÃO pode fazer isso em Main, só nas outras.
Nesse caso, as janelas obrigatoriamente precisam ser MODAL, senão nada segura o processamento, e será encerrado até antes da janela GUI aparecer.
É uma coisa relativamente simples, WVG nem vai aparecer.
O único detalhe é confirmar em cada LIB como é que ela introduz a GTGUI pra ser substituída por GTWVG.
No caso da HWGUI é só remover o -gtgui do HBC.
Outra coisa:
Talvez seja errado, mas GTWVG.HBC já acrescenta os arquivos CH, como se o fonte tivesse #include pra eles.
Pode ser interessante remover isso, pra poder usar GTWVG.HBC diretamente, senão dá conflito com os arquivos de outras LIBs.
Isso falando de HARBOUR, e a GTWVG existente no Harbour, NUNCA fiz teste com a GTWVG que vém no XHarbour.
Isso acima já permite multithread usando várias janelas, CADA janela poderia ser HWGUI, HMG, GTWVG, tanto faz, porque cada uma ficaria isolada em sua própria thread.
A única restrição na mistura de LIBs é nome de funções na biblioteca, que não poderiam se repetir.
Isso é coisa do outro mundo ? não
isso é alteração radical de fontes ? não
isso poderia ajudar ? talvez sim, talvez não, depende do uso de cada um, e de mais testes
precisa se aprofundar em conhecer GTWVG ? não
precisa usar alguma função especial da GTWVG ? não
Tem equivalente em Linux ? sim
Precisa ser GTWVG ? não, na verdade é a GUI default do Harbour GTWVT, que também é a base da GTWVG
Faz tempo que eu falo pra dar uma atenção especial nisso.
Não se trata de usar GTWVG pra usar console, ou porque eu uso, mas porque pode inspirar algo mais.
Que tal usar praqueles DEBUGs separados, por exemplo da HWGUI ?
Porque programa separado pra DEBUG, se ele poderia estar em outra thread?
Pois é...
Talvez porque XHarbour seja sempre a primeira referência pras LIBs, e no XHarbour isso não existe.
E elas parecem seguir o fivewin, que também tem XHarbour como primeira opção, mesmo o Linares usando o Harbour a pleno vapor, na forma do mod_harbour.
O funcionamento das GUIs é conhecido:
Código: Selecionar todos
// inicia aqui
INIT WINDOW
ACTIVATE WINDOW
// retorna aqui ao fechar janela
Se a GT é GUI ou se é WVG dá no mesmo (se é que na WVG não seja GUI também).
Nenhuma janela WVG precisa aparecer, pode permanecer oculta, se não mostrar nada em tela.
Um diferencial da WVG é que ela funciona em multithread, o que permite criar vários pontos de início e fim, pra qualquer GUI.
NÃO pode fazer isso em Main, só nas outras.
Código: Selecionar todos
hb_gtReload( "WVG" )
// inicia aqui
INIT WINDOW
ACTIVATE WINDOW
// retorna aqui ao fechar janela
É uma coisa relativamente simples, WVG nem vai aparecer.
O único detalhe é confirmar em cada LIB como é que ela introduz a GTGUI pra ser substituída por GTWVG.
No caso da HWGUI é só remover o -gtgui do HBC.
Outra coisa:
Talvez seja errado, mas GTWVG.HBC já acrescenta os arquivos CH, como se o fonte tivesse #include pra eles.
Pode ser interessante remover isso, pra poder usar GTWVG.HBC diretamente, senão dá conflito com os arquivos de outras LIBs.
Isso falando de HARBOUR, e a GTWVG existente no Harbour, NUNCA fiz teste com a GTWVG que vém no XHarbour.
Isso acima já permite multithread usando várias janelas, CADA janela poderia ser HWGUI, HMG, GTWVG, tanto faz, porque cada uma ficaria isolada em sua própria thread.
A única restrição na mistura de LIBs é nome de funções na biblioteca, que não poderiam se repetir.
Isso é coisa do outro mundo ? não
isso é alteração radical de fontes ? não
isso poderia ajudar ? talvez sim, talvez não, depende do uso de cada um, e de mais testes
precisa se aprofundar em conhecer GTWVG ? não
precisa usar alguma função especial da GTWVG ? não
Tem equivalente em Linux ? sim
Precisa ser GTWVG ? não, na verdade é a GUI default do Harbour GTWVT, que também é a base da GTWVG
Faz tempo que eu falo pra dar uma atenção especial nisso.
Não se trata de usar GTWVG pra usar console, ou porque eu uso, mas porque pode inspirar algo mais.
Que tal usar praqueles DEBUGs separados, por exemplo da HWGUI ?
Porque programa separado pra DEBUG, se ele poderia estar em outra thread?
Pois é...
Talvez porque XHarbour seja sempre a primeira referência pras LIBs, e no XHarbour isso não existe.
E elas parecem seguir o fivewin, que também tem XHarbour como primeira opção, mesmo o Linares usando o Harbour a pleno vapor, na forma do mod_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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ao Itamar (outros também) sobre MINIGUI
Olhe aí Itamar, saiu versão nova.
Como eu disse, praticamente todo mês sai versão nova dessa HMG Extended.
Saiu ONTEM.
Só não existe um repositório com fontes, é esse download com tudo, incluindo fontes.
Como eu disse, praticamente todo mês sai versão nova dessa HMG Extended.
Saiu ONTEM.
Só não existe um repositório com fontes, é esse download com tudo, incluindo fontes.
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/