Sobre um comentário que fiz de GTWVG e multithread em conjunto:
O funcionamento das GUIs é conhecido:
Código: Selecionar todos
// inicia aqui
INIT WINDOW
ACTIVATE WINDOW
// retorna aqui ao fechar janela
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.
Código: Selecionar todos
hb_gtReload( "WVG" )
// inicia aqui
INIT WINDOW
ACTIVATE WINDOW
// retorna aqui ao fechar janela
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.