Clipper On Line • Ver Tópico - GTWVG - ninguém entende o que tem
Mudar para estilo Clássico
Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.
Postar uma resposta

GTWVG - ninguém entende o que tem

26 Dez 2020 05:46

Depois de 3 anos, finalmente consegui compilar e executar um exemplo da HMG.
É a única LIB, que compilada com mingw, precisa copiar uma DLL pra pasta do EXE.

Quanto à GTWVG, já falamos disso.
Mas como está usando a wvgCrt, tem opção melhor ainda.

Vamos lá, novamente, de novo:

Em um programa Windows, TUDO é janela, não existe SAY/GET, @ TO, etc.
CADA frase de texto é uma janela, CADA ícone é uma janela, etc.
Ao trabalhar com esses componentes Windows, o ideal é justamente trabalhar com CRT, assim ficam "anexados" nas janelas.

A GTWVG tem isso, mas... também tem o "plano B", que é esse da rotina Paint.
É criado um array com todos os comandos pra fazer todos os desenhos, e eles ficam sendo redesenhados sempre, SEMPRE MESMO.
Pros desenhos não aparecerem mais, é limpar esse array de comandos, parando de repintar, os desenhos somem.

Pode ser interessante usar um tipo ou outro, depende de acostumar com "a coisa".
Mas usando CRT vai facilitar, porque passam a existir várias janelas, e ao invés de usar a Paint() geral, cada CRT pode ter sua própria rotina Paint(), ou seus controles Windows.

GTWVG - ninguém entende o que tem

26 Dez 2020 10:14

Uma coisa é certa: o resize automático da GTWVG é imbatível.

GTWVG - ninguém entende o que tem

27 Dez 2020 21:58

JoséQuintas escreveu:É a única LIB, que compilada com mingw, precisa copiar uma DLL pra pasta do EXE.
nobre, será que o problema é só contigo ou com outros? no meu computador, estou com a HMG 3.5 recém instalada e em nenhuma das versões, nunca vi essa DLL ou precisar dela.

GTWVG - ninguém entende o que tem

27 Dez 2020 22:09

microvolution escreveu:
JoséQuintas escreveu:É a única LIB, que compilada com mingw, precisa copiar uma DLL pra pasta do EXE.
nobre, será que o problema é só contigo ou com outros? no meu computador, estou com a HMG 3.5 recém instalada e em nenhuma das versões, nunca vi essa DLL ou precisar dela.


No, si compilas con el build.bat de hmg como viene configurado por defecto no necesitas ninguna dll.
El problema que relata José es porque el utiliza su propia configuración del hbmk2 y no linka estaticamente la lib como se hace en la configuración por defecto de hmg.

GTWVG - ninguém entende o que tem

28 Dez 2020 00:15

Claudio Soto escreveu:El problema que relata José es porque el utiliza su propia configuración del hbmk2 y no linka estaticamente la lib como se hace en la configuración por defecto de hmg.


Alterei pra fazer isso, mas não adiantou.
Lembrando que só acontece com a versão POSIX, com a outra nem precisa NADA de parâmetro.

Coloquei isto aqui sim:
Código:
rem -ldflag="-pthread  -static-libgcc  -static-libstdc++  -static -lpthread"  --> for gcc.exe link pthread library in static mode
rem -trace --> for show execute command line

HBMK2 -ldflag="-pthread  -static-libgcc  -static-libstdc++  -static -lpthread" -mt -o"%~n1" %HMGPATH%\hmg32.hbc %gtdrivers% %debug% -q %1 %2 %3 %4 %5 %6 %7 %8 >hbmk.log 2>&1


Mesmo que funcionasse, o fato de só HMG precisar disso também é "diferente".
Se ela precisa da LIB/DLL, então é porque usa....

GTWVG - ninguém entende o que tem

28 Dez 2020 00:37

Vou fazer um novo teste pra confirmar, porque num dos HBPs faltou indicar o hmg.hbc.

GTWVG - ninguém entende o que tem

28 Dez 2020 00:52

Código:
#hmg.hbc
ldflags="-pthread  -static-libgcc  -static-libstdc++  -static -lpthread"


mingw.png


versão POSIX precisa da DLL, e win32 não precisa nem da DLL e nem desses parâmetros.
E só pra HMG.

GTWVG - ninguém entende o que tem

28 Dez 2020 01:37

HMG presisa porque soporta multithread en los componentes GUI de la lib y esta basado en el estándar POSIX threads.
No se si las otras lib ya han implementado el soporte para mt a nivel del GUI, cuando yo la implemente en HMG las otras lib no lo tenían.

GTWVG - ninguém entende o que tem

28 Dez 2020 12:26

Lembro que quando usei MSVC 2010, se usasse logo após a instalação dava erro.
Precisa instalar o service pack, porque houve mudança em algo relacionado a multithread.

Na época vi isso quando pesquisei o problema, mas não lembro mais detalhes.
Lembro de um problema relacionado ao modo de liberar memória, mas não lembro se era referente a isso.

O erro pode estar relacionado a essa mudança, apesar de não ser msvc, pode fazer uso da rotina antiga.
Postar uma resposta