Página 1 de 1

Misturando LIBs 2024.

Enviado: 12 Abr 2024 15:28
por JoséQuintas
Os detalhes principais são:

a) LIB GUI costuma paralisar o processo inicial.
Por isso é tão normal travar ao misturar LIBs.
Se precisar, pode renomear o processo pra que isso não aconteça (remover o INIT)
Em multithread acontece o contrário: falta esse processo, precisa chamá-lo
Não é com qualquer LIB que o problema acontece, acho que só GTWVW.

b) LIB GUI costuma forçar a GTGUI em Harbour (e não em xharbour)
Se a mistura até hoje dá trabalho, é por conta das próprias LIBs.

c) Não entendi direito até hoje, só sei que o hb_gtReload("WVG") é suficiente pras LIBs GUI, substituindo a GTGUI

com GTWVG como default.

Código: Selecionar todos

hb_ThreadStart( { || OutroProcesso() } )
hb_ThreadWaitForAll()
Acima, o processo principal vai ficar aguardando que os outros processos terminem.

A partir daí pode ter processos em qualquer LIB, preferencialmente GTWVG criando o processo a ser paralizado.

Outro processo em gtwvg:

Código: Selecionar todos

hb_gtReload( "WVG" )
SetMode(25,80)
CLS
@ 1,0 SAY "teste" GET var
READ
Em HMG:

Código: Selecionar todos

hb_gtReload( "WVG" )
hmg_Init()
//segue fonte HMG
É só isso.
Pode usar no mesmo EXE/Aplicativo GTWVG, HWGUI e HMG Extended.

Detalhe adicional:
HWGUI tem uma função com mesmo nome da HMG.
Se quiser misturar as duas, ou usa BORLAND, ou no MINGW adiciona o parâmetro na linquedição pra permitir nomes duplicados.
Usar MINIGUIs misturadas não dá, quase tudo tem nome repetido.

Misturar HWGUI e HMG é interessante pra quem já usa HWGUI e tem aplicativo grande pra converter.

A partir daí é só se divertir.

NÃO É misturar controles.
Um cadastro de clientes usando GTWVG
Um cadastro de clientes usando HWGUI
Um cadastro de clientes usando HMG Extended

Ótimo pra migração.
Vai poder colocar em prática um módulo novo, sem desativar o velho, ou deixando o velho como reserva.

Ou... também pode ser mais radical:
Cria um EXE com os módulos de uma, cria um EXE com os módulos de outra, e chame passando parâmetros.

Misturando LIBs 2024.

Enviado: 27 Out 2024 09:39
por SOSSOFT
Interessante esta possibilidade de poder misturar por vários motivos, até para complementar algo que não dá para fazer facilmente em um certo tipo mas que dá certo em outro.

Misturando LIBs 2024.

Enviado: 08 Nov 2024 14:53
por microvolution
SOSSOFT escreveu:Interessante esta possibilidade de poder misturar por vários motivos, até para complementar algo que não dá para fazer facilmente em um certo tipo mas que dá certo em outro.
Não lembro exatamente qual "post" que fiz, mas, com a ajuda do Dr.Soto, conseguimos uma HMG 3.0.35.1 onde roda tudo junto: HMG GUI + WVG + CUI/CONSOLE.

Misturando LIBs 2024.

Enviado: 22 Nov 2024 17:05
por microvolution
Ironia do destino. Estou aqui novamente, para uma coisa simples. Recompilar meu sistema que já era compilado dentro da IDE/HMG 3.5 usando em "configuration" apenas:

Código: Selecionar todos

libs=HBWIN.HBC gtwvg.hbc hbnf.hbc
Infelizmente, se eu comentar a linha acima, também não compila e mostra uma pancada de "ambiguous ou duplicidade"