Página 2 de 2

Ao Itamar (outros também) sobre MINIGUI

Enviado: 27 Set 2022 12:26
por JoséQuintas
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

Enviado: 27 Set 2022 13:07
por JoséQuintas
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....

Ao Itamar (outros também) sobre MINIGUI

Enviado: 27 Set 2022 15:39
por alxsts

Ao Itamar (outros também) sobre MINIGUI

Enviado: 27 Set 2022 16:00
por JoséQuintas
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.

Ao Itamar (outros também) sobre MINIGUI

Enviado: 01 Out 2022 20:19
por JoséQuintas
hmgextended.png
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.