HMG Extended com GTWVT OU GTWVG
Moderador: Moderadores
HMG Extended com GTWVT OU GTWVG
Este exemplo mostra a possibilidade de trabalhar a GUI MiniGUI com CONSOLE WVT/WVG
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
HMG Extended com GTWVT OU GTWVG
Me lembrou que não testei todas as possibilidades, tinha faltado GTWVT e GTWVW.
Este teste precisou de 8 arquivos HBP, sendo que 7 geram LIB.
Com certeza não dá pra misturar tudo.
Misturar HWGUI com HMG, somente com pequenas mudanças na HWGUI (renomear duas ou três funcões).
Misturar HMG, HMG Extended e OOHG, sem chance, quase tudo é repetido.
Misturar GTWVG e GTWVT requer cuidado, porque pode estar usando tela de uma e teclado da outra.
OOHG somente chamando na thread principal.
GTWVW somente se for a Main(), porque faz tudo na janela Main()
E facilita muito dividir cada GUI em um sub-projeto, pra compilação de fontes de uma GUI não atrapalhar a compilação da outra. (arquivos usados em #include)
Ah sim, e isso requer uma errorsys mais padrão, porque a errorsys de uma GUI não funciona em outra GUI.
Adicionais:
OOHG é a única HMG que não funcionou em segunda thread
GTWVW sem chance de thread
Tudo bem, no uso normal ninguém vai misturar tanto.
Mas pode ser útil pra quem está interessado em migrar de uma LIB pra outra.
Ou quem tem vários aplicativos/sub-aplicativos em GUIs diferentes, e está pensando em padronizar ou juntar tudo.
Pensando grande:
Poderia ser o começo de uma padronização de LIBs a nível de fontes, pelo menos do que faz parte da API Windows, podendo fazer parte da hbwin.
As HMGs mesmo, parece que a maioria dos fontes C são iguais e poderiam ser centralizados em um núcleo comum.
Código: Selecionar todos
PROCEDURE Main
//__oohg_init()
//hb_ThreadStart( { || Tstrmchart() } )
//hb_ThreadStart( { || Tstgtwvg() } )
//hb_ThreadStart( { || TestHWgui( 1 ) } )
//hb_ThreadStart( { || TestHWgui( 1 ) } )
//hb_ThreadStart( { || TestHMGS() } )
//hb_ThreadStart( { || testhmg3() } )
//TestOOHG()
//hb_ThreadStart( { || Testwvt() } )
Testwvw()
hb_ThreadWaitForAll()
RETURN
Com certeza não dá pra misturar tudo.
Misturar HWGUI com HMG, somente com pequenas mudanças na HWGUI (renomear duas ou três funcões).
Misturar HMG, HMG Extended e OOHG, sem chance, quase tudo é repetido.
Misturar GTWVG e GTWVT requer cuidado, porque pode estar usando tela de uma e teclado da outra.
OOHG somente chamando na thread principal.
GTWVW somente se for a Main(), porque faz tudo na janela Main()
E facilita muito dividir cada GUI em um sub-projeto, pra compilação de fontes de uma GUI não atrapalhar a compilação da outra. (arquivos usados em #include)
Ah sim, e isso requer uma errorsys mais padrão, porque a errorsys de uma GUI não funciona em outra GUI.
Adicionais:
OOHG é a única HMG que não funcionou em segunda thread
GTWVW sem chance de thread
Tudo bem, no uso normal ninguém vai misturar tanto.
Mas pode ser útil pra quem está interessado em migrar de uma LIB pra outra.
Ou quem tem vários aplicativos/sub-aplicativos em GUIs diferentes, e está pensando em padronizar ou juntar tudo.
Pensando grande:
Poderia ser o começo de uma padronização de LIBs a nível de fontes, pelo menos do que faz parte da API Windows, podendo fazer parte da hbwin.
As HMGs mesmo, parece que a maioria dos fontes C são iguais e poderiam ser centralizados em um núcleo comum.
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/
-
Elisangelo
- Usuário Nível 1

- Mensagens: 16
- Registrado em: 08 Ago 2014 01:09
- Localização: P.Prudente
HMG Extended com GTWVT OU GTWVG
Olá asimoes, temo como disponibilizar este fonte,ficou muito show, gostaria de migrar o meu sistema peguei um exemplo aqui no fórum consigo compilar, mas quando uso o botão sair trava o sistema.
Abraços,
____________
Elisangelo
____________
Elisangelo
HMG Extended com GTWVT OU GTWVG
Elisangelo
Segue exemplo compilado e com fontes
Obs.: Exemplo para ser compilado com harbour 3.4 e mingui extended
Segue exemplo compilado e com fontes
Obs.: Exemplo para ser compilado com harbour 3.4 e mingui extended
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
Elisangelo
- Usuário Nível 1

- Mensagens: 16
- Registrado em: 08 Ago 2014 01:09
- Localização: P.Prudente
HMG Extended com GTWVT OU GTWVG
Olá asimoes, obrigado pela ajuda, o exemplo postado vai me ajudar muito na conversão dos meus sistemas do modo console para o modo gráfico, assim posso ir mudando aos poucos.
Abraços,
____________
Elisangelo
____________
Elisangelo
-
Elisangelo
- Usuário Nível 1

- Mensagens: 16
- Registrado em: 08 Ago 2014 01:09
- Localização: P.Prudente
HMG Extended com GTWVT OU GTWVG
Não estou conseguindo compilar o exemplo do asimoes, aparece a mensagem de hbmk2 [DEMO]: Erro: Ao executar o compilador de recursos. -1, alguem sabe o que pode ser?
suprimi as linhas referete a hbssl.hbc e hbfimage.hbc e continua com o mesmo erro
suprimi as linhas referete a hbssl.hbc e hbfimage.hbc e continua com o mesmo erro
- Compilando o programa...
hbmk2: Processando script local make: hbmk.hbm
hbmk2 [DEMO]: Atenção: Não é possível encontrar o hbssl.hbc (referenciado por
hbmk.hbm)
hbmk2 [DEMO]: Atenção: Não é possível encontrar o hbfimage.hbc (referenciado
por hbmk.hbm)
hbmk2: Harbour: Compilando módulos...
Harbour 3.4.0dev () (2017-05-18 22:54)
Copyright (c) 1999-present, https://github.com/vszakats/harbour-core/
Compiling 'DEMO.PRG'...
Lines 22664, Functions/Procedures 2
Generating C source output to 'OBJFORK\DEMO.c'... Done.
Compiling 'DEMO1.PRG'...
Lines 22198, Functions/Procedures 6
Generating C source output to 'OBJFORK\DEMO1.c'... Done.
Compiling 'DEMO2.PRG'...
Lines 22193, Functions/Procedures 5
Generating C source output to 'OBJFORK\DEMO2.c'... Done.
Compiling 'UTILS.PRG'...
Lines 28464, Functions/Procedures 15
Generating C source output to 'OBJFORK\UTILS.c'... Done.
Compiling 'RMCHART.PRG'...
Lines 1046, Functions/Procedures 4
Generating C source output to 'OBJFORK\RMCHART.c'... Done.
hbmk2: Compilando recursos...
hbmk2 [DEMO]: Erro: Ao executar o compilador de recursos. -1
windres.exe --target=pe-i386 -IC:/HBF34/include -IC:/HBF34/contrib/hbhpdf -IC:/H
BF34/contrib/hbzebra -IC:/HBF34/contrib/hbwin -IC:/HBF34/contrib/hbnetio -IC:/HB
F34/contrib/hbtip -IC:/HBF34/contrib/hbct -IC:/HBF34/contrib/hbnf -IC:/HBF34/con
trib/xhb -IC:/HBF34/contrib/hbfship -IC:/HBF34/contrib/hbxpp -I"/hmg-17.04/inclu
de;" DEMO.RC -O coff -o OBJFORK/DEMO.reso
Pressione qualquer tecla para continuar. . .
Abraços,
____________
Elisangelo
____________
Elisangelo
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
HMG Extended com GTWVT OU GTWVG
Deu erro ao executar esse comando, -1 significa que windres.exe não existe ou não está no PATH.hbmk2 [DEMO]: Erro: Ao executar o compilador de recursos. -1
windres.exe --target=pe-i386 -IC
Procure e coloque a pasta no path.
dir \windres.exe /s
Essa parte não é problema no exemplo, é sua configuração do Harbour que está ruim.
E considerando o nome da pasta HBF34, deve ter várias versões na máquina, e essa é o Harbour Fork 3.4
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/
HMG Extended com GTWVT OU GTWVG
Tem que verificar a instalação do harbour,
Normalmente hb34
Ou está incompleto
Normalmente hb34
Ou está incompleto
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
HMG Extended com GTWVT OU GTWVG
O nome da pasta nem faz diferença, só me chamou a atenção.
Faltou o compilador C no PATH.
Só lembrando que as LIBs do Harbour precisam ser do mesmo compilador C que colocar no PATH.
Sobre a mistura, aqui tem sobre uma mistura "ao contrário", console chamando GUI.
https://pctoledo.org/forum/viewto ... =4&t=18331
Faltou o compilador C no PATH.
Só lembrando que as LIBs do Harbour precisam ser do mesmo compilador C que colocar no PATH.
Sobre a mistura, aqui tem sobre uma mistura "ao contrário", console chamando GUI.
https://pctoledo.org/forum/viewto ... =4&t=18331
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/
HMG Extended com GTWVT OU GTWVG
Elisangelo,
Esse exemplo que eu postei é para ser compilado com GCC Mingw 32 bits, dito isso as libs também devem estar compiladas com este compilador, ou utilizar o BCC 5 para compilar com a Mingui Ex
Esse exemplo que eu postei é para ser compilado com GCC Mingw 32 bits, dito isso as libs também devem estar compiladas com este compilador, ou utilizar o BCC 5 para compilar com a Mingui Ex
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
HMG Extended com GTWVT OU GTWVG
Verificar no path se tem mais de um harbour instalado na sua máquina
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
Elisangelo
- Usuário Nível 1

- Mensagens: 16
- Registrado em: 08 Ago 2014 01:09
- Localização: P.Prudente
HMG Extended com GTWVT OU GTWVG
Olá Simoes/Quintas,
O nome da pasta só foi uma escolha, a maquina não tem harbour.
Baixei o binário e o código deste endereço
"https://github.com/vszakats/harbour-core/releases"
O compilador MINGW usei este tdm64-gcc-5.1.0-2.exe
Baixei o Harbour MiniGUI Extended Edition 17.04
"http://www.hmgextended.com/download.html"
O harbour binário não rodou, dai baixei o código e precisei copiar os arquivos dos-make.exe, os2-make.exe e o win-make.exe de outra versão do harbour porque não veio no harbour-core-3.4.0dev.zip.
Compilei o fonte do harbour assim:
SET PATH=%PATH%;C:\TDM-GCC-32\bin
SET HB_INSTALL_PREFIX=C:\hbf34
win-make clean install
O arquivo bat.
@echo off
@echo Compilando o programa...
SET PATH=\HBF34\BIN;\TDM-GCC-32\bin;
SET HB_DBG_PATH=.\
HBMK2 DEMO.HBP -JOBS=1 -DVERSAO_FORK -rebuild -b -comp=mingw
pause
/hmg-17.04/lib/minigui.lib: file not recognized: File format not recognized
collect2.exe: error: ld returned 1 exit status
hbmk2 [DEMO]: Erro: Executando linkeditor. 1
O nome da pasta só foi uma escolha, a maquina não tem harbour.
Baixei o binário e o código deste endereço
"https://github.com/vszakats/harbour-core/releases"
O compilador MINGW usei este tdm64-gcc-5.1.0-2.exe
Baixei o Harbour MiniGUI Extended Edition 17.04
"http://www.hmgextended.com/download.html"
O harbour binário não rodou, dai baixei o código e precisei copiar os arquivos dos-make.exe, os2-make.exe e o win-make.exe de outra versão do harbour porque não veio no harbour-core-3.4.0dev.zip.
Compilei o fonte do harbour assim:
SET PATH=%PATH%;C:\TDM-GCC-32\bin
SET HB_INSTALL_PREFIX=C:\hbf34
win-make clean install
O arquivo bat.
@echo off
@echo Compilando o programa...
SET PATH=\HBF34\BIN;\TDM-GCC-32\bin;
SET HB_DBG_PATH=.\
HBMK2 DEMO.HBP -JOBS=1 -DVERSAO_FORK -rebuild -b -comp=mingw
pause
/hmg-17.04/lib/minigui.lib: file not recognized: File format not recognized
collect2.exe: error: ld returned 1 exit status
hbmk2 [DEMO]: Erro: Executando linkeditor. 1
- Compilando o programa...
hbmk2: Processando script local make: hbmk.hbm
hbmk2: Harbour: Compilando módulos...
Harbour 3.4.0dev () (2017-05-19 17:19)
Copyright (c) 1999-present, https://github.com/vszakats/harbour-core/
Compiling 'DEMO.PRG'...
Lines 22664, Functions/Procedures 2
Generating C source output to 'OBJFORK\DEMO.c'... Done.
Compiling 'DEMO1.PRG'...
Lines 22198, Functions/Procedures 6
Generating C source output to 'OBJFORK\DEMO1.c'... Done.
Compiling 'DEMO2.PRG'...
Lines 22193, Functions/Procedures 5
Generating C source output to 'OBJFORK\DEMO2.c'... Done.
Compiling 'UTILS.PRG'...
Lines 28464, Functions/Procedures 15
Generating C source output to 'OBJFORK\UTILS.c'... Done.
Compiling 'RMCHART.PRG'...
Lines 1046, Functions/Procedures 4
Generating C source output to 'OBJFORK\RMCHART.c'... Done.
hbmk2: Compilando recursos...
hbmk2: Compilando...
hbmk2: Compilando C++...
hbmk2: Linkando... demo.exe
/hmg-17.04/lib/minigui.lib: file not recognized: File format not recognized
collect2.exe: error: ld returned 1 exit status
hbmk2 [DEMO]: Erro: Executando linkeditor. 1
gcc.exe OBJFORK/DEMO.o OBJFORK/DEMO1.o OBJFORK/DEMO2.o OBJFORK/UTILS.o OBJFORK/R
MCHART.o OBJFORK/_hbmkaut_DEMO.o OBJFORK/ROTINAS.o OBJFORK/DEMO.reso -m32 -mwi
ndows -Wl,--start-group -lhbhpdf -lhpdf -lpng -lhbzebra -lhbwin -lhbnetio -lhbti
p -lhbct -lhbnf -lhbmemio -lhbmisc -lxhb -lhbfship -lhbxpp -lminigui -lgtgui -lV
fw32 -lmsvfw32 -lgtwvg -lgtwvt -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -l
hbcpage -lgtcgi -lgtstd -lgtpca -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbusrrdd -lrdd
ntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp
-lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpa
pi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -l
winmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group -
s -odemo.exe -LC:/HBF34/lib/win/mingw -L"/hmg-17.04/lib"
hbmk2: Hint: Add input file 'gtwvg.hbc' instead of specifying raw library using
'-lgtwvg' or 'libs=gtwvg'.
Pressione qualquer tecla para continuar. . .
Abraços,
____________
Elisangelo
____________
Elisangelo
HMG Extended com GTWVT OU GTWVG
Elisangelo,
Você ta quase lá, a minigui que você tem que não está com compilada com Mingw, verifique na pasta lib da minigui
Você ta quase lá, a minigui que você tem que não está com compilada com Mingw, verifique na pasta lib da minigui
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
Elisangelo
- Usuário Nível 1

- Mensagens: 16
- Registrado em: 08 Ago 2014 01:09
- Localização: P.Prudente
HMG Extended com GTWVT OU GTWVG
Simoes,
Realmente hmg 17.04 que baixei vem para BCC 5, onde consigo para Mingw, ou como compilo.
Realmente hmg 17.04 que baixei vem para BCC 5, onde consigo para Mingw, ou como compilo.
Abraços,
____________
Elisangelo
____________
Elisangelo
HMG Extended com GTWVT OU GTWVG
Elisangelo
Para gerar a lib minigui com mingw faça cópia dos aquivos em anexo para a pasta minigui\source e execute a bat ConstruirLib.bat
Verifique o path do harbour na bat antes de compilar.
Para gerar a lib minigui com mingw faça cópia dos aquivos em anexo para a pasta minigui\source e execute a bat ConstruirLib.bat
Verifique o path do harbour na bat antes de compilar.
- Anexos
-
MiniGUILibMinGW.zip- Bat e hbp para gerar lib minigui com MinGW
- (646 Bytes) Baixado 343 vezes
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
