Erro HB_FUN aparece diversas vezes, como resolver ?

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
ricardosierban
Usuário Nível 2
Usuário Nível 2
Mensagens: 57
Registrado em: 12 Out 2020 21:08
Localização: São Bernardo do Campo/SP
Contato:

Erro HB_FUN aparece diversas vezes, como resolver ?

Mensagem por ricardosierban »

Olá, instalei a versão mais atual do harbour, porém o problema que estou encontrando no momento não deve ser relativo a versão, mas sim a programação/conversão (Clipper/Harbour).

Aparece agora o erro abaixo.

BIBLIOTE.prg(717) Error E0042 Macro of declared symbol '&cor_5'
BIBLIOTE.prg(2953) Error E0042 Macro of declared symbol '&cor_4'

Pelo o que encontrei é um erro de conversão relacionado a macros, mas ainda não descobri como resolver.

Li também que este erro não costuma ocorrer no xHarbour, mas eu quero continuar usando o Harbour.

Caso alguém tenha um material/texto que eu possa ler para resolver este problema, ou mesmo passar uma solução, eu agradeço.
marcosgambeta
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 16 Jun 2005 22:53

Erro HB_FUN aparece diversas vezes, como resolver ?

Mensagem por marcosgambeta »

Veja se esta informação ajuda:

https://pctoledo.org/forum/viewto ... =4&t=12310
Atenciosamente,
Marcos Antonio Gambeta
Avatar do usuário
ricardosierban
Usuário Nível 2
Usuário Nível 2
Mensagens: 57
Registrado em: 12 Out 2020 21:08
Localização: São Bernardo do Campo/SP
Contato:

Erro HB_FUN aparece diversas vezes, como resolver ?

Mensagem por ricardosierban »

Vou verificar, obrigado.
Avatar do usuário
ricardosierban
Usuário Nível 2
Usuário Nível 2
Mensagens: 57
Registrado em: 12 Out 2020 21:08
Localização: São Bernardo do Campo/SP
Contato:

Erro HB_FUN aparece diversas vezes, como resolver ?

Mensagem por ricardosierban »

Realmengte ainda não entendi como acertar o problema do erro de macros, mas continuar tentando...
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Erro HB_FUN aparece diversas vezes, como resolver ?

Mensagem por Jairo Maia »

Para usar alguma variável como macro elas não podem ser declaradas como variáveis LOCAL, apenas PRIVADAS OU PUBLICAS.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro HB_FUN aparece diversas vezes, como resolver ?

Mensagem por JoséQuintas »

Pode resolver também &( variavel )
A diferença é que vai ser usado o valor, e não a variável, então sem problemas.
Mas em alguns casos vai ser um pouco diferente.

cCont := "10"
? Campo&cCont

Aí poderia alterar pra &( "campo" + cCont )

Acaba expandindo as opções, ao invés de limitar.
Por exemplo & ( "campo" + StrZero( nCont, 2 ) )

Onde por macro precisaria até de mais fonte.

É que aonde a macro vai ser "traduzida", a variável pode não estar disponível, como por exemplo se for local.
Mas usando parêntesis, está usando o resultado do cálculo, e não vai precisar de variável aonde executa a macro.
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

Erro HB_FUN aparece diversas vezes, como resolver ?

Mensagem por asimoes »

No meu teste funcionou assim:

Código: Selecionar todos

   FOR i:=1 TO 10
       cVar   :=  "codigo" + strzero( i,2)
       &cVar. := StrZero(i,2)
    NEXT

    cCampo := "codigo"

    FOR nCont = 1 TO 10
      oBtn := &( cCampo + Strzero( nCont, 2 ) )
    NEXT
►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

Erro HB_FUN aparece diversas vezes, como resolver ?

Mensagem por asimoes »

Outra forma:

Código: Selecionar todos

    cVar := ""
    
    FOR i:=1 TO 10
       &cVar. := &( cVar   :=  "codigo" + strzero( i,2) ) :=  StrZero(i,2)
    NEXT
►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
ricardosierban
Usuário Nível 2
Usuário Nível 2
Mensagens: 57
Registrado em: 12 Out 2020 21:08
Localização: São Bernardo do Campo/SP
Contato:

Erro HB_FUN aparece diversas vezes, como resolver ?

Mensagem por ricardosierban »

Bom dia à todos, o erro das macros não aparece mais, usei este comando como teste:

#pragma -w0
#pragma -es0

Entendi que é estilo uma "blibioteca" que "força" o C a compilar o programa.Os erros sumiram, mas continua o problema abaixo:

Erro 1: hbmk2: Erro: Executando linkeditor. 1

Erro 2:
hbmk2: Erro: Referenciado, faltando, mas funções desconhecida(s): CENTRA(),
BARRAS(), BAK_UP()

Passo a passo parece que estou resolvendo (com a ajuda dos senhores, claro), mas digo uma coisa, criar um programa do zero em Harbour dá muito mais prazer do que converter programas antigos em Clipper :)

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

Erro HB_FUN aparece diversas vezes, como resolver ?

Mensagem por asimoes »

Mudando um pouco de assunto, descobri uma coisa interessante usando for each

DataCarga estava atribuido com Nil

Durante o For Each...

__DefaultNIL( @oElemento["DataCarga"], Date() )

Trocou para Data e passando oElemento com @ referência
►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

Erro HB_FUN aparece diversas vezes, como resolver ?

Mensagem por asimoes »

ricardosierban escreveu:Erro 2: hbmk2: Erro: Referenciado, faltando, mas funções desconhecida(s): CENTRA(),
BARRAS(), BAK_UP()
Está faltando alguma lib que contém essas funções ou procedures, ou algum fonte que contém essas funções que não está no hbp
►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)
Responder