Aos poucos migrando tela caracter para GUI

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

cjp escreveu:Da forma como fiz, dá outros erros.
Edita esse fonte rotinas1.cpp e remove essa função ou outras conflitantes até gerar o exe
►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)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Aos poucos migrando tela caracter para GUI

Mensagem por cjp »

Me passe por favor.

Uso o hbmk2, do Harbour 3.2 mesmo.
Inacio de Carvalho Neto
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Aos poucos migrando tela caracter para GUI

Mensagem por JoséQuintas »

Vamos no bê a bá.....
Pra um programa funcionar em qualquer PATH... a pasta dele precisa estar... no PATH
SET PATH=pasta do programa;outras pastas
Isso pode ser feito por um BAT, ou lá em propriedades do computador, avançadas, variáveis de ambiente, PATH

A mensagem de erro principal que apareceu é: ERRO EXECUTANDO COMPILADOR C
A causa mais provável é que não tem compilador C no PATH, ou.... está indicando um compilador C que não está na sua máquina

Já as outras mensagens.....
LWA_ALPHA undeclared - não declarada, significa que está sendo usada mas não existe.
A outra mensagem... está dizendo que isso acontece mais vezes, mas vai mostrar apenas uma vez por função

Tem uma opção no HBMK2 que mostra os comandos que estão sendo usados.
-trace
Isso pode ajudar a saber o nome do EXE do compilador C, assim procura nas pastas depois, caso não saiba qual é.

um exemplo
d:\temp>hbmk2 -trace test
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Processando arquivo de configuração: d:\harbour\bin\hbmk.hbc
hbmk2: Harbour compiler command (built-in):
(d:\harbour\bin\harbour.exe) -n2 test.prg -m -n -w3 -es2 -ge1 -DHBMK_HAS_HBMK=1 -DHBMK_HAS_HPDF=1 -DHBMK_HAS_HBHPDF=1 -DHBMK_HAS_HBZEBRA=1 -DHBMK_HAS_HBWIN=1 -DHBMK_HAS_HBCT=1 -DHBMK_HAS_SEFAZCLASS=1 -DHBMK_HAS_GTWVG=1 -DHBMK_HAS_HBTIP=1 -DHBMK_HAS_HBNETIO=1 -DHBMK_HAS_MINIZIP=1 -DHBMK_HAS_HBMZIP=1 -DHBMK_HAS_HBZIPARC=1 -DHBMK_HAS_HBNF=1 -DHBMK_HAS_HBMISC=1 -DHBMK_HAS_LIBJPA=1 -oC:\Users\jmcqu\AppData\Local\Temp\hbmk_usgcnj.dir\ -id:\harbour\include -id:\cdrom\fontes\integra\sefazclass\include -id:\harbour\contrib\hbhpdf -id:\harbour\contrib\hbzebra -id:\harbour\contrib\hbwin -id:\harbour\contrib\hbct -id:\harbour\contrib\gtwvg -id:\harbour\contrib\hbtip -id:\harbour\contrib\hbnetio -id:\harbour\contrib\hbmzip -id:\harbour\contrib\hbnf -id:\cdrom\fontes\integra\libjpa\include -u+d:\harbour\contrib\hbhpdf\harupdf.ch -u+d:\harbour\contrib\hbzebra\hbzebra.ch -u+d:\harbour\contrib\hbwin\hbwin.ch -u+d:\harbour\contrib\gtwvg\hbgtwvg.ch -u+d:\harbour\contrib\gtwvg\wvgparts.ch -u+d:\harbour\contrib\gtwvg\wvtwin.ch -u+d:\harbour\contrib\hbnetio\hbnetio.ch -u+d:\harbour\contrib\hbmzip\hbmzip.ch -undef:.ARCH. -D__PLATFORM__WINDOWS -D__LITTLE_ENDIAN__ -D__ARCH32BIT__
Harbour 3.4.0dev (0e13c7c08d) (2019-09-09 14:45)
Copyright (c) 1999-2019, https://github.com/JoseQuintas/harbour-core/
Compiling 'test.prg'...
Lines 831, Functions/Procedures 5
Generating C source output to 'C:\Users\jmcqu\AppData\Local\Temp\hbmk_usgcnj.dir\test.c'... Done.
hbmk2: Comando do compilador C/C++:
gcc.exe -c -O3 -fno-ident -Wno-implicit-fallthrough -Wno-cast-function-type -Wno-misleading-indentation -W -Wall -Wlogical-op -Wduplicated-cond -Wshift-negative-value -Wnull-dereference -m32 -pipe -Id:/harbour/include -Id:/cdrom/fontes/integra/sefazclass/include -Id:/harbour/contrib/hbhpdf -Id:/harbour/contrib/hbzebra -Id:/harbour/contrib/hbwin -Id:/harbour/contrib/hbct -Id:/harbour/contrib/gtwvg -Id:/harbour/contrib/hbtip -Id:/harbour/contrib/hbnetio -Id:/harbour/contrib/hbmzip -Id:/harbour/contrib/hbnf -Id:/cdrom/fontes/integra/libjpa/include C:/Users/jmcqu/AppData/Local/Temp/hbmk_usgcnj.dir/test.c C:/Users/jmcqu/AppData/Local/Temp/hbmk_627zdi.c
hbmk2: Comando do Linkeditor:
gcc.exe C:/Users/jmcqu/AppData/Local/Temp/hbmk_usgcnj.dir/test.o C:/Users/jmcqu/AppData/Local/Temp/hbmk_usgcnj.dir/hbmk_627zdi.o -m32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--pic-executable,-e,_mainCRTStartup -mwindows -static -Wl,--start-group -Wl,-Bstatic -lgtwvg -llibjpa -lhbhpdf -lhpdf -lpng -lhbzebra -lhbwin -lpng -lhbct -lsefazclass -lhbhpdf -lhpdf -lpng -lhbwin -lpng -lhbzebra -lhbwin -lpng -lhbct -lhbtip -lhbnetio -lhbziparc -lhbmzip -lminizip -lhbmisc -lhbnf -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtstd -lgtpca -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre2 -lhbzlib -Wl,-Bdynamic -Wl,--end-group -s -otest.exe -Ld:/harbour/lib/win/mingw -Ld:/cdrom/fontes/integra/sefazclass -Ld:/cdrom/fontes/integra/libjpa -Ld:/harbour/addons/josequintas/lib/win/mingw
C:/Users/jmcqu/AppData/Local/Temp/hbmk_usgcnj.dir/test.o:test.c:(.data+0x128): undefined reference to `HB_FUN_SQLMIX'
C:/Users/jmcqu/AppData/Local/Temp/hbmk_usgcnj.dir/test.o:test.c:(.data+0x138): undefined reference to `HB_FUN_SDDODBC'
collect2.exe: error: ld returned 1 exit status
hbmk2 [test]: Erro: Executando linkeditor. 1
gcc.exe C:/Users/jmcqu/AppData/Local/Temp/hbmk_usgcnj.dir/test.o C:/Users/jmcqu/AppData/Local/Temp/hbmk_usgcnj.dir/hbmk_627zdi.o -m32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--pic-executable,-e,_mainCRTStartup -mwindows -static -Wl,--start-group -Wl,-Bstatic -lgtwvg -llibjpa -lhbhpdf -lhpdf -lpng -lhbzebra -lhbwin -lpng -lhbct -lsefazclass -lhbhpdf -lhpdf -lpng -lhbwin -lpng -lhbzebra -lhbwin -lpng -lhbct -lhbtip -lhbnetio -lhbziparc -lhbmzip -lminizip -lhbmisc -lhbnf -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtstd -lgtpca -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre2 -lhbzlib -Wl,-Bdynamic -Wl,--end-group -s -otest.exe -Ld:/harbour/lib/win/mingw -Ld:/cdrom/fontes/integra/sefazclass -Ld:/cdrom/fontes/integra/libjpa -Ld:/harbour/addons/josequintas/lib/win/mingw

hbmk2: Hint: Add input file 'sddodbc.hbc' for missing Harbour function(s):
SDDODBC()
hbmk2: Error: Referenced, missing, but unrecognized Harbour function(s):
SQLMIX()
O comando gigantesco assusta?
Não importa o comando inteiro, só importa a primeira palavra que é o nome do EXE

harbour.exe ...
gcc.exe ...
gcc.exe ...
gcc.exe ...

Então é procurar nas pastas o harbour.exe e o gcc.exe e colocar no PATH

Pra conferir:

harbour.exe <ENTER>
gcc <ENTER>

Se funcionam, se carrega EXE com esses nomes, então tem o Harbour e o compilador C no PATH.

Qual a diferença do Clipper ? NENHUMA
Clipper.exe ...
rtlink.exe ...
exospace.exe ...
blinker.exe ...

No Clipper, a pasta desses EXEs precisam estar no PATH pra funcionar.

Não é porque mudou a linguagem de programação que essas coisas ficaram diferentes.
Continua do mesmo jeito, só mudaram os nomes dos EXEs.

Está usando outro compilador C?
Tudo bem, vai olhar os comandos e ver qual é o nome dele.
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Aos poucos migrando tela caracter para GUI

Mensagem por JoséQuintas »

Vamos a um resumo:

mingw: harbour.exe windres.exe gcc.exe

bcc: harbour.exe brcc32.exe ilink32.exe

msvc: harbour.exe rc.exe cl.exe link.exe

São esses EXEs que precisam estar no PATH, e precisam existir no computador.
Usei a opção -traceonly, onde ele só mostra os comandos sem fazer nada.
Usei o HBMK2 do Harbour 3.4 - ele tá preparado pra bcc, mesmo não tendo Harbour 3.4 em bcc
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/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

Segue o link do harbour 3.4 fork / llvm/clang 9 (mais recente) que eu uso

https://drive.google.com/file/d/13D0XMO ... sp=sharing
►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)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Aos poucos migrando tela caracter para GUI

Mensagem por JoséQuintas »

Eu baixei os fontes pra dar uma olhada.... mas desisti de entender.
Isso é pra quem trabalha com console desistir.... kkkk

É que estou pensando em começar a oferecer GUI, assim justifica melhor os inconvenientes da migração pra MySQL.
O problema é que apaguei todos os meus testes, então só começando novamente do zero.
E começar do zero é muito chato.... então pesquisar exemplos.
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/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter (console) para GUI

Mensagem por asimoes »

JoséQuintas escreveu:Eu baixei os fontes pra dar uma olhada.... mas desisti de entender.
Isso é pra quem trabalha com console desistir.... kkkk
Eu não faço mais nada console a uns 3 anos, faço as telas com a hwgui design, transformo o prg em classe, faço tudo em mais ou menos 15 minutos, pode aumentar dependendo da quantidade de componentes da tela, a única coisa chata é que a hwgui design que eu estou usando é a do Luis Basso, o prd que ela gera, tem que modificar o nome de algumas funções, fora isso ta muito bom.
►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)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Aos poucos migrando tela caracter para GUI

Mensagem por cjp »

Compilando com hwgui que vc mandou, dá os erros em anexo.
Anexos
tela2.png
Inacio de Carvalho Neto
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

cjp escreveu:Compilando com hwgui que vc mandou, dá os erros em anexo.
O problema não é a hwgui é a versão do compilador que você está usando com o harbour 3.2,
Se eu fosse você trocaria para o harbour 3.4, ai poderei responder alguma coisa, como eu falei antes, eu trabalho somente com o harbour 3.4 fork e o compilador llvm/clang 9
►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)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Aos poucos migrando tela caracter para GUI

Mensagem por cjp »

Segue o link do harbour 3.4 fork / llvm/clang 9 (mais recente) que eu uso

... sp=sharing
Eu baixei esta versão, que vc disse que seria do harbour 3.4. Alterei o hbp para ela.

Mas vi agora que no zip consta que é 3.2. E vi também agora que na compilação consta que está usando o 3.2.

Onde consigo o 3.4 efetivamente?
Inacio de Carvalho Neto
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

cjp escreveu:Eu baixei esta versão, que vc disse que seria do harbour 3.4. Alterei o hbp para ela.

Mas vi agora que no zip consta que é 3.2. E vi também agora que na compilação consta que está usando o 3.2.

Onde consigo o 3.4 efetivamente?
Não, não amigo, a versão é a 3.4 olha o arquivo changelog: ChangeLog.txt na raiz do HARBOUR32_CLANG
►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)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

HARBOUR32_CLANG, O 32 NÃO SIGNIFICA HARBOUR 3.2 E sim 32 bits.
►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)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

cjp escreveu:Eu baixei esta versão, que vc disse que seria do harbour 3.4. Alterei o hbp para ela.

Mas vi agora que no zip consta que é 3.2. E vi também agora que na compilação consta que está usando o 3.2.

Onde consigo o 3.4 efetivamente?
Acabei de baixar o arquivo que eu compartilhei só para confirmar e é o harbour 3.4

Você tá fazendo alguma coisa errada ai, o changelog último do Viktor

2019-07-15 13:27 UTC Viktor Szakats (commit vszakats.net)
* docs/*
* catch up with missing changes, update links, typos, etc.
►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)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Aos poucos migrando tela caracter para GUI

Mensagem por cjp »

De fato eu estava fazendo algo errado. Já resolvi e consegui compilar.

Agora é aprender a usar. Mas pelo menos já entendi a lógica.

Muito obrigado a todos que auxiliaram.
Inacio de Carvalho Neto
andersoncamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 103
Registrado em: 22 Ago 2004 11:54

Aos poucos migrando tela caracter para GUI

Mensagem por andersoncamilo »

Simões bom dia tudo bem.

Hoje você utiliza qual versão da HWGUI ainda é 2.17 ou já está usando a nova 2.222, outro detalhe para chamar as rotinas console só é possível por Thread, ou tem outra forma e o porque de se utilizar Thread?

Obrigado.

Anderson Camilo
Responder