Página 1 de 3

erro em compilação

Enviado: 29 Jul 2023 00:34
por cjp
Pessoal, estou fazendo uns testes com hwgui, mas estou obtendo um erro na compilação. Vide anexo.
Observe que tem o arquivo hwgui.ch na pasta, mas mesmo assim ele está dando "can't open #include file".
Já funcionou aqui antes, mas, como mudei de computador, pode ser que eu esteja esquecendo alguma coisa.
Alguém me ajuda?
Aproveito para perguntar: usando hwgui, ainda assim é necessário instalar um conector de banco de dados (ex: Mariadb) para fazer conexão com a base MySQL?

erro em compilação

Enviado: 30 Jul 2023 00:23
por Jairo Maia
Olá Inácio,

Não entendo nada de HwGui, mas o que sei é que você colocou o arquivo hwgui.ch na pasta hb34/bin. Ele deve ser ser colocado na pasta hb34/include para que o Harbour o encontre.

OBS: Os arquivos chamados pelo comando "#include" são procurados primeiro na pasta do projeto, se não tem, são procurados pelo Harbour na pasta include.

erro em compilação

Enviado: 30 Jul 2023 00:56
por cjp
Entendi. Mas o já estava na pasta include. Eu copiei para a pasta bin pra tentar fazer funcionar a compilação.

erro em compilação

Enviado: 30 Jul 2023 02:40
por JoséQuintas
Perguntas que não tem a ver com hwgui.ch, mas com ESSE COMANDO de compilação que foi mostrado, e ações:

Tá compilando arquivo CH porque ?

Tá usando arquivo da minigui porque ?

Tá colocando arquivo em tudo que é lugar porque ?

erro em compilação

Enviado: 30 Jul 2023 23:07
por cjp
Não entendo nada de HwGui, estou tentando começar. Na verdade já havia começado tempos atrás, mas não avancei. Estou tentando retomar.
Mas não sei explicar o que estou fazendo, só segui algumas recomendações daqui do grupo.
Então, não sei porque estou compilando CH, só fiz o que me recomendaram tempos atrás.
Também não sei porque estou usando da minigui, idem.
E só copiei o arquivo para a pasta lib porque vi que estava na include mas estava dando falta do arquivo, foi só para ver se funcionaria.
Acho curioso que antes compilava, agora não está compilando, mas não sei porquê.

erro em compilação

Enviado: 30 Jul 2023 23:35
por ivanil
Este negócio de copiar arquivos só para ver se funciona pode criar um efeito colateral difícil de resolver, o compilador faz a varredura e pode pegar um arquivo que seja incompatível com os demais, iria gerar uma lista de erros que sequer existem.

erro em compilação

Enviado: 31 Jul 2023 08:58
por JoséQuintas
Se fez certo da outra vez, deve existir um HBP na pasta, use-o.

Não se indicam CH na linha de comando

Esses CH indicados são da MINIGUI, não tem nada a ver com HWGUI.

Pra indicar pasta de include é -Ipasta

E se ficar copiando arquivos entre pastas, sem saber porque, pode nunca mais funcionar mais nada.

erro em compilação

Enviado: 31 Jul 2023 10:47
por cjp
Sim, tem um hbp que eu usei na época. Ao recomeçar agora, comecei por ele. Mas, como não funcionou, tentei diretamente. Vou postá-lo aqui:

Código: Selecionar todos

# ---------------------------
# Construção do AsaPrev
# Autor : Alexandre Simões
# Data  : 02/02/2018
# Versão: GCC/CORE
# ---------------------------
# Executável
# ---------------------------
-oTESTESQL34
# ---------------------------
# Prg(s) e Rc(s)
# ---------------------------
\prg\testesql34.PRG
#----------------------------
# HBC / LIBS
# ---------------------------
-L\hb34\hwgui\lib;.\;
-L.\lib;
-I\hwgui\include;.;

-lhwgui
-lhwbos
-lpng
-lVfw32
-lversion
-lhbtip

hbct.hbc
hbnf.hbc
hbmemio.hbc
gtwvg.hbc
hbgt.hbc
hbhpdf.hbc
hbzebra.hbc
hbwin.hbc
hbtip.hbc
hbssl.hbc
hbfimage.hbc
xhb.hbc
hbxpp.hbc
sddodbc.hbc
\hb34\camera.cpp
\hb34\controlejanela.c


# ---------------------------
# Outros parâmetros
# ---------------------------
-dHARBOUR
-gtgui
-head=full
-n
-warn=no
-inc
-mt
-strip
-u+hbcompat.ch
-u+i_color.ch
-u+pscript.ch
-optim
-m
-ge1
-quiet
-es1
\hb34\DEMO.RC

erro em compilação

Enviado: 31 Jul 2023 12:21
por JoséQuintas
Então, precisa entender o que fez, pra que serve cada coisa no HBP.
-L\hb34\hwgui\lib;.\;
-I\hwgui\include;.;
Aí está indicando que libs de hwgui estão em \hb34\hwgui\lib
Aí está indicando que includes de hwgui estão em \hwgui\include

hwgui está mesmo nessas pastas?

com certeza ficar copiando pra outras não vai resolver nada, porque o hbp indica essas duas pastas.
E usar duas pastas totalmente diferentes indica que já estava bagunçado antes.

erro em compilação

Enviado: 04 Ago 2023 01:39
por cjp
Realmente estava errado aí. Corrigi e deu certo. Compilou.
Mas agora estou tendo um erro na execução meio estranho:
Error BASE/1004 No exported method: EXECUTE
Called from ->EXECUTE(0)
Called from \prg\testesql34.PRG->EXQADO(128)
Called from \prg\testesql34.PRG->MAIN(34)
A linha do erro é esta:

Código: Selecionar todos

exq=conexaoado:execute(cQuery)
No Harbour isto funciona sem problema.

Alguém me ajuda?

erro em compilação

Enviado: 04 Ago 2023 08:45
por JoséQuintas
A mensagem de erro é que a variável não tem execute()

E o erro só pode ser esse mesmo.

Simulação simples desse erro:

Código: Selecionar todos

x := 5
x:Execute()

erro em compilação

Enviado: 05 Ago 2023 00:36
por cjp
A simulação eu entendi.
Mas ainda não entendi porque no meu caso não está funcionando, sendo que no Harbour funciona.
Pode me explicar?

erro em compilação

Enviado: 05 Ago 2023 04:12
por JoséQuintas
cjp escreveu:A simulação eu entendi.
Mas ainda não entendi porque no meu caso não está funcionando, sendo que no Harbour funciona.
Pode me explicar?
Deu erro nessa variável ?
O que tem nessa variável ?

"No Harbour funciona"
Se não é Harbour não dá pra ajudar.

erro em compilação

Enviado: 06 Ago 2023 00:02
por cjp
Pelo pouco que eu entendo, esta variável pega o retorno da conexão.
Está assim:

Código: Selecionar todos

conexaoado=ConexaoMySQL(nServidor)
conexaoado:open()

FUNCTION ConexaoMySQL(nProvedor)
         LOCAL oCn := win_OleCreateObject("ADODB.Connection")
         Local cServer :="mysql.xxx.com.br"
		 Local cDatabase :="xxx"
		 Local cUser :="xxx"
		 Local cPassword :="xxx"
...		 

         oCn:ConnectionString := "DRIVER={MariaDB ODBC 3.1 Driver};TCPIP=1;SERVER=" + ;
          cServer + ";Database=" + cDatabase + ";UID=" + cUser + ";PWD=" + cPassword + ";PORT=3306"
		  
         oCn:CursorLocation   := 3
RETURN oCn
Só mencionei o Harbour porque no Harbour faço exatamente da mesma forma, e lá funciona.

erro em compilação

Enviado: 06 Ago 2023 07:40
por JoséQuintas
No último fonte CRIA UMA VARIÁVEL contendo conexão, e abre a conexão e não dá erro.

São coisas diferentes, não faz muito sentido comparar fontes pra coisas diferentes, mas ... no que funciona dá pra ver que é criada uma variável e o conteúdo é uma conexão.

Já no fonte que dá erro.... USA UMA VARIÁVEL e dá erro.
NÃO DÁ PRA ADIVINHAR FONTE, mas é de se imaginar que a variável não seja conexão.