Função VAL() nao reconhecida

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Função VAL() nao reconhecida

Mensagem por Cavalo Marinho »

Bom dia Pessoal
Estou necessitando da ajuda dos mestres, pois não conseguir desvendar este mistério, estou modificando meu sistemas para harbour+minigui extend (reescrevendo tudo), ia tudo bem funcionando uma maravilha, parei por motivo de outros compromisso a um mes atras, quando voltei para o sistema e ao compilar me deparei com um erro que a função val não referenciada na libminigui.a, não tinha feito qualquer atualização até então, como deu este erro atualizei para a versão 2.4.6 e continua com o mesmo erro, estou anexando o arquivo com o erro para melhor analise.
erro de compilacao.txt
(2.57 KiB) Baixado 107 vezes
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Função VAL() nao reconhecida

Mensagem por Toledo »

Cavalo Marinho escreveu:me deparei com um erro que a função val não referenciada na libminigui.a
Bom, de acordo com a mensagem de erro, a função não encontrada é a HB_VAL() e não VAL().
Então verifique o PRG que está usando esta função e troque HB_VAL() por VAL().

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Função VAL() nao reconhecida

Mensagem por Cavalo Marinho »

Boa tarde,
Obrigado por responder Toledo,acontece que em nenhum lugar do meu soft eu estou utilizando esta função hb_val, já verifiquei todos os fontes, foi primeira coisa que fiz, e se você olhar o arquivo que anexei o compilador informa que a função indefinida na libminigui.a (h_getbox.o : h_getbox.c), fique sem entender porque como reportei no post anterior estava compilando normal, depois de um período sem mexer no programa e voltei, começou gerar este erro sem eu fazer exatamente nada. Por enquanto para continuar com o desenvolvimento o que foi que fiz? criei uma função hb_val até tentar encontrar a solução.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Função VAL() nao reconhecida

Mensagem por Toledo »

Cavalo Marinho escreveu:como deu este erro atualizei para a versão 2.4.6
Cavalo Marinho escreveu:o compilador informa que a função indefinida na libminigui.a
De acordo com as mensagens acima, você está usando a MiniGui Extended, mas compilada com a MingW. Existe alguma razão especial por você estar usando a versão da MiniGui Extended compilada com a MingW?

Acho que deve ser algum bug nesta versão da MiniGui com a MingW, pois na versão da MiniGui Extended com o Borland BCC, este erro não ocorre.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

Função VAL() nao reconhecida

Mensagem por Claudio Soto »

El bug esta en el archivo c:\MiniGUI\source\tget\tget.prg linea 630

Código: Selecionar todos

#if ( __HARBOUR__ - 0 ) < 0x030200
      xValue  := Val( cBuffer )
#else
      xValue  := hb_Val( cBuffer )
#endif
Este código asume que si la version de Harbour es la 3.2 o mayor se utilice la función hb_Val(), pero esta función no existe en Harbour.
Supongo que este error aparece o no según se linke o no esta libreria.

Una solución:

Código: Selecionar todos

FUNCTION hb_Val( cBuffer )
RETURN Val( cBuffer )
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Função VAL() nao reconhecida

Mensagem por alxsts »

Olá!

Na linha #if ( __HARBOUR__ - 0 ) < 0x030200, o valor hexadecimal 0x030200 convertido para decimal é 197120, o que a mim parece não dizer nada. Não estaria aí o erro? Tentando comparar o número da versão do Harbour com 320 e usando um valor incorreto?
[]´s
Alexandre Santos (AlxSts)
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

Função VAL() nao reconhecida

Mensagem por Claudio Soto »

Alexandre,
Harbour almacena el numero de versión en forma hexadecimal:

Código: Selecionar todos

#define HB_VER_MAJOR    3        /* Major version number */
#define HB_VER_MINOR    2        /* Minor version number */
#define HB_VER_RELEASE  0        /* Release number */
#define HB_VER_STATUS   "dev"    /* Build status (all lowercase) */
#define __HARBOUR__     0x030200 /* Three bytes: Major + Minor + Release. This is recommented for 3rd party .c and .prg level code. */
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Função VAL() nao reconhecida

Mensagem por alxsts »

Olá!

Agradeço por responder.

Esta é uma característica do Harbour nova para mim mas, sei que todas as linguagens modernas utilizam este recurso e permitem que as aplicações nelas desenvolvidas também o utilizem.

Em qual arquivo include constam as definições apresentadas?
[]´s
Alexandre Santos (AlxSts)
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

Função VAL() nao reconhecida

Mensagem por Claudio Soto »

alxsts escreveu:Em qual arquivo include constam as definições apresentadas?
Estan definidas en:

C:\HMG.3.4.0\Harbour\include\hbver.h

C:\MiniGUI\Harbour\include\hbver.h
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Função VAL() nao reconhecida

Mensagem por alxsts »

Olá!

Pensava que fossem constantes manifestas do próprio Harbour. Agora vejo que pertencem a HMG e MiniGUI.

Gracias mas una vez!
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Função VAL() nao reconhecida

Mensagem por Pablo César »

alxsts escreveu:Pensava que fossem constantes manifestas do próprio Harbour. Agora vejo que pertencem a HMG e MiniGUI.
Não Alexandre, esse arquivo include é do próprio Harbour, não são exclusivos da HMG nem Minigui Extended (perceba o path Harbour).
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Função VAL() nao reconhecida

Mensagem por Cavalo Marinho »

Bom dia Pessoal,
Eu nas minhas varias tentativas descobrir o seguinte: Se eu compilo com c:\minigui\buildApp.bat arquivo.hbp arquivo.hbc onde arquivo é o nome do meu projeto o erro da função hb_val() aparece, se compilar com hbmk2 arquivo.hbp arquivo.hbc funciona normal, como se nunca tivesse existido o erro.
Por enquanto vou seguir a sugestão do amigo Claudio Soto.
Responder