Dicas pra entender/alterar comportamento de LIBs
Enviado: 30 Nov 2020 14:20
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.
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.