Página 1 de 1

bug SET MAIN WINDOW OFF

Enviado: 04 Jan 2024 20:34
por JoséQuintas
Confirmado, é bug mesmo.
Isso foi acrescentado apenas como compatibilidade na HMG Extended, e na OOHG.
Na HMG Extended isso gera alguns problemas quando usa form MODAL.

Testei esta alternativa, e à primeira vista funcionou.

Código: Selecionar todos

PROCEDURE Main

   DEFINE WINDOW main AT 0, 0 WIDTH 1024 HEIGHT 768 ;
      TITLE "test" ;
      MAIN NOSHOW ;
      ON INIT ( NewMain(), main.release() )
   END WINDOW
   Main.center()
   main.activate()

   RETURN
Pelo menos não ficou nada no gerenciador de tarefas, e o teste da main mostrou conteúdo.

Código: Selecionar todos

   ...
   ActivateDialog( xDlgMenu )
   Msgbox( GetProperty( "main", "title" ) )

   RETURN
Apesar de GUI, nesse ponto segue igual console, aguarda o fechamento da janela antes de prosseguir.
E no codeblock, executa um de cada vez, aguardando terminar o anterior.

É só curiosidade, NÃO estou misturando LIBs:

É nisso que uso GTWVG e multithread ao misturar LIBs.
A rotina vai deixar o aplicativo preso, então, dou a thread nova com gtwvg, assim só a thread fica presa, e o restante do aplicativo está livre pra executar outras coisas. Encerrou a janela, a thread vai embora com ela.
Digamos que a GTWVG apenas substitui essa janela invisível.

Devido ao bug... a MAIN TEM QUE EXISTIR, e TEM QUE SER DA HMG EXTENDED.

Na HMG 3, original que implementou MAIN OFF, ok.

Na OOHG não testei, porque não é esse comando, e esqueci qual era kkkk

O bug é ao usar janelas MODAL sem janela MAIN, acaba bloqueando/desbloqueando janela errada, relacionado a uma pergunta que fiz anteriormente sobre travamento em browse, que na prática era por conta desse bug.

NÃO É PROBLEMA no uso normal com MAIN.
E mesmo com MAIN OFF, o problema não acontece sempre, só acontece em determinadas situações.

bug SET MAIN WINDOW OFF

Enviado: 29 Jan 2024 17:30
por JayRivers
Parece que a solução que você encontrou envolve garantir que uma janela MAIN exista na HMG Extended para evitar esse problema. O bug não parece afetar o uso normal com MAIN e ocorre apenas em situações específicas.