Clipper On Line • Ver Tópico - Erro: E0042 Macro of declared

Erro: E0042 Macro of declared

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

Moderador: Moderadores

 

Erro: E0042 Macro of declared

Mensagempor clodoaldomonteiro » 03 Set 2011 00:55

Olá amigos!

Estou tentando usar o Harbour 3.0 e quando fui compilar apareceu esse erre ai, ou seja, todas as macros de substituições estão dando erro.

Exemplo:
mValor:=0
for i=1 to 12
   a=strzero(i,2)
   mValor+=pla_deb&a
next


Alguém sabe como resolver esse erro?
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 745
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 111 vezes
Mens.Curtidas: 31 vezes

Erro: E0042 Macro of declared

Mensagempor clodoaldomonteiro » 03 Set 2011 09:22

Já corrigi o erro.
É que eu tava declarando as variáveis que ia usar como macro

Exemplo:
local mValor:=0, ii //o harbour 3.0 não aceita declarar as variáveis que vou usar como macro de substituição
for i=1 to 12
   ii=strzero(i, 2)
   mValor+=pla_debito&ii
next


Sendo assim, o harbour 3.0 faz uma verificação melhor no código fonte.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 745
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 111 vezes
Mens.Curtidas: 31 vezes

Erro: E0042 Macro of declared

Mensagempor microvolution » 24 Jul 2018 14:49

clodoaldomonteiro escreveu:local mValor:=0, ii //o harbour 3.0 não aceita declarar as variáveis que vou usar como macro de substituição

aconteceu comigo a mesma coisa.
Aí um outro colaborador me mandou este link.
Nos meus testes descobri que o HARBOUR não aceita declarar a varíavel que será usada na macrosubstituição como variável do tipo LOCAL.

Então, se vc clodoaldomonteiro usar os comandos PRIVATE ou PUBLIC vai aceitar a declaração das variáveis para MACRO-SUBSTITUIÇÃO.

Forte abraço!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Erro: E0042 Macro of declared

Mensagempor JoséQuintas » 24 Jul 2018 23:37

É que tem uma coisa que esquecem.... macro não precisa ser de variável.

LOCAL cCampo

cCampo := "cliente->codigo"
? &( cCampo )
FOR nCont = 1 TO 9
   ? &( cCampo + Str( nCont, 1 ) )
NEXT
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro