Clipper On Line • Ver Tópico - HMG Extended com GTWVT OU GTWVG
Mudar para estilo Clássico
Projeto MiniGui - Biblioteca visual para Harbour/xHarbour
Postar uma resposta

HMG Extended com GTWVT OU GTWVG

28 Mar 2017 19:21

Screen Shot 03-28-17 at 07.18 PM.PNG


Este exemplo mostra a possibilidade de trabalhar a GUI MiniGUI com CONSOLE WVT/WVG

HMG Extended com GTWVT OU GTWVG

29 Mar 2017 02:27

Me lembrou que não testei todas as possibilidades, tinha faltado GTWVT e GTWVW.

Código:
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


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.

HMG Extended com GTWVT OU GTWVG

14 Mai 2017 19:52

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.

HMG Extended com GTWVT OU GTWVG

15 Mai 2017 10:11

Elisangelo

Segue exemplo compilado e com fontes

EXEMPLO.zip
(8.61 MiB) Baixado 233 vezes


Obs.: Exemplo para ser compilado com harbour 3.4 e mingui extended

HMG Extended com GTWVT OU GTWVG

15 Mai 2017 16:28

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.

HMG Extended com GTWVT OU GTWVG

19 Mai 2017 12:07

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

    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. . .

HMG Extended com GTWVT OU GTWVG

19 Mai 2017 12:35

hbmk2 [DEMO]: Erro: Ao executar o compilador de recursos. -1
windres.exe --target=pe-i386 -IC


Deu erro ao executar esse comando, -1 significa que windres.exe não existe ou não está no PATH.
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

HMG Extended com GTWVT OU GTWVG

19 Mai 2017 14:44

Tem que verificar a instalação do harbour,
Normalmente hb34
Ou está incompleto

HMG Extended com GTWVT OU GTWVG

19 Mai 2017 16:29

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.

http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=18331

HMG Extended com GTWVT OU GTWVG

19 Mai 2017 17:29

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

HMG Extended com GTWVT OU GTWVG

19 Mai 2017 17:30

Verificar no path se tem mais de um harbour instalado na sua máquina

HMG Extended com GTWVT OU GTWVG

19 Mai 2017 18:19

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

    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. . .

O devo fazer para corrigir?

HMG Extended com GTWVT OU GTWVG

19 Mai 2017 18:43

Elisangelo,

Você ta quase lá, a minigui que você tem que não está com compilada com Mingw, verifique na pasta lib da minigui

HMG Extended com GTWVT OU GTWVG

20 Mai 2017 13:20

Simoes,

Realmente hmg 17.04 que baixei vem para BCC 5, onde consigo para Mingw, ou como compilo.

HMG Extended com GTWVT OU GTWVG

20 Mai 2017 15:56

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.
Anexos
MiniGUILibMinGW.zip
Bat e hbp para gerar lib minigui com MinGW
(646 Bytes) Baixado 136 vezes
Postar uma resposta