Tem algumas coisas que a gente acaba esquecendo, até mesmo por nunca ter usado.
HB_GTSYS - este fonte é procurado pra definir a GT default
ANNOUNCE HB_GTSYS - este comando é para que a prioridade ao procurar HB_GTSYS seja no fonte que contém isso.
As LIBs GUI costumam ter isso pra definir GT_GUI como default
Se colocar nos "seus" fontes, seu fonte passa a definir a lib default
Precisa atenção nisso se quiser, por exemplo, misturar GT com uma LIB GUI, porque se entra a da LIB GUI, a outra fica de fora.
Nesse caso trata-se apenas de uma GT pra usar como default, geralmente acompanhada por REQUEST HB_GT_xxx_DEFAULT
É isso que atrapalha usar outra GT misturada com a lib GUI.
Basta ajustar, entendendo como isso funciona, e tá tudo resolvido.
INIT PROCEDURE
INIT FUNCTION
Nunca usei isso, mas são rotinas obrigatoriamente executadas ao iniciar o EXE.
As LIBs GUI tem isso, pra iniciar certas coisas internas da LIB.
Na thread principal elas entram automático, mas em outras threads precisa chamar "manualmente".
Em HWGUI e HMG isso entra automático na thread principal, mas numa nova thread não, por isso acaba gerando erro.
Sem problemas, é só chamar novamente ao abrir outra thread, se precisar.
Também pra entender como uma LIB funciona é bom lembrar disso, porque poderia esconder o ponto de partida de tudo.
De um modo geral é disso que lembro no momento.
São coisas simples, mas podem fazer muita diferença.
Dicas pra entender/alterar comportamento de LIBs
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Dicas pra entender/alterar comportamento de LIBs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Dicas pra entender/alterar comportamento de LIBs
Faltou dizer:
INIT PROCEDURE e INIT FUNCTION, podem existir várias.
Todas serão executadas, sem ordem pré-definida, antes de executar Main.
E tem EXIT PROCEDURE, EXIT FUNCTION, que vão ser executadas na saída do EXE.
Num exemplo fictício, não é bom fazer isso, poderia carregar DLLs no início, e descarregar no final.
Melhor não fazer isso, senão pode ficar sem poder rodar o programa se faltar alguma DLL.
Foi apenas um exemplo.
INIT PROCEDURE e INIT FUNCTION, podem existir várias.
Todas serão executadas, sem ordem pré-definida, antes de executar Main.
E tem EXIT PROCEDURE, EXIT FUNCTION, que vão ser executadas na saída do EXE.
Num exemplo fictício, não é bom fazer isso, poderia carregar DLLs no início, e descarregar no final.
Melhor não fazer isso, senão pode ficar sem poder rodar o programa se faltar alguma DLL.
Foi apenas um exemplo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/