Página 5 de 14

Aos poucos migrando tela caracter para GUI

Enviado: 13 Fev 2020 08:47
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

Aos poucos migrando tela caracter para GUI

Enviado: 13 Fev 2020 10:27
por cjp
Me passe por favor.

Uso o hbmk2, do Harbour 3.2 mesmo.

Aos poucos migrando tela caracter para GUI

Enviado: 13 Fev 2020 12:29
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.

Aos poucos migrando tela caracter para GUI

Enviado: 13 Fev 2020 12:43
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

Aos poucos migrando tela caracter para GUI

Enviado: 13 Fev 2020 19:45
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

Aos poucos migrando tela caracter para GUI

Enviado: 13 Fev 2020 20:48
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.

Aos poucos migrando tela caracter (console) para GUI

Enviado: 13 Fev 2020 21:28
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.

Aos poucos migrando tela caracter para GUI

Enviado: 14 Fev 2020 01:15
por cjp
Compilando com hwgui que vc mandou, dá os erros em anexo.

Aos poucos migrando tela caracter para GUI

Enviado: 14 Fev 2020 13:24
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

Aos poucos migrando tela caracter para GUI

Enviado: 14 Fev 2020 16:20
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?

Aos poucos migrando tela caracter para GUI

Enviado: 14 Fev 2020 17:20
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

Aos poucos migrando tela caracter para GUI

Enviado: 14 Fev 2020 17:23
por asimoes
HARBOUR32_CLANG, O 32 NÃO SIGNIFICA HARBOUR 3.2 E sim 32 bits.

Aos poucos migrando tela caracter para GUI

Enviado: 14 Fev 2020 17:30
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.

Aos poucos migrando tela caracter para GUI

Enviado: 14 Fev 2020 22:51
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.

Aos poucos migrando tela caracter para GUI

Enviado: 31 Mar 2020 08:53
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