Usando multithread
Enviado: 26 Fev 2025 13:19
Usar multithread é simples, ao mesmo tempo que pode se tornar complexo.
Multithread é igual EXE separado, mas a thread principal é quem manda.
Fechou a thread principal fecha tudo ou, no mínimo, acaba com muitas variáveis.
Supondo que seu aplicativo tem a procedure Main, que é o início do aplicativo.
Altere o nome pra Main2, e crie outra Main.
Esta vai ser uma Main() invisível, esperando tudo acabar.
Seu aplicativo vai rodar na segunda thread.
Fechou o aplicativo, esta thread também fecha.
Seu aplicativo, se usar GTWVG, vai abrir uma outra janela GTWVG pra trabalhar.
Se for fivewin vai abrir dialog fivewin, se for hwgui vai abrir dialog hwgui, se for minigui vai dar erro porque minigui não está preparada pra isso.
Ou... vai abrir o que você quiser, você decide.
nota: minigui tem jeito de funcionar.
Multithread é igual EXE separado, mas a thread principal é quem manda.
Fechou a thread principal fecha tudo ou, no mínimo, acaba com muitas variáveis.
Supondo que seu aplicativo tem a procedure Main, que é o início do aplicativo.
Altere o nome pra Main2, e crie outra Main.
Código: Selecionar todos
PROCEDURE Main
hb_ThreadStart( { || Main2() } )
hb_ThreadWaitForAll()
RETURN
PROCEDURE HB_GTSYS
REQUEST HB_GT_WVG_DEFAULT
RETURN
Seu aplicativo vai rodar na segunda thread.
Fechou o aplicativo, esta thread também fecha.
Seu aplicativo, se usar GTWVG, vai abrir uma outra janela GTWVG pra trabalhar.
Se for fivewin vai abrir dialog fivewin, se for hwgui vai abrir dialog hwgui, se for minigui vai dar erro porque minigui não está preparada pra isso.
Ou... vai abrir o que você quiser, você decide.
nota: minigui tem jeito de funcionar.