Função STATIC em VALID

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

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Função STATIC em VALID

Mensagem por JoséQuintas »

Assim funcionou, mas sem variável na macro.

Código: Selecionar todos

   LOCAL n, x := "Qualquer2()", GetList := {}
...
   @ 4, 1 GET n VALID Qualquer( n ) .AND. &(x)
e assim erro

Código: Selecionar todos

   @ 4, 1 GET n VALID Qualquer( n ) .AND. &x
desde que use a getsys original do Harbour, gera erro de compilação.
test.prg:9: error E0047 Code block contains both macro and declared symbol references 'N'

test.prg:9: error E0047 Code block contains both macro and declared symbol references 'X'

test.prg:9: error E0042 Macro of declared symbol '{|| Qualquer( n ) .AND. &x}'
Com a getsys do Clipper não dá esse alerta na compilação, e é quando ocorre erro em run-time.

Tá mais como curiosidade agora.
Acabou ficando resolvido com o FOR EACH que postei anteriormente, que eliminou 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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Função STATIC em VALID

Mensagem por JoséQuintas »

Só pra concluir:

Cuidado com macros em gets, e também em codeblocks.
Nem sempre é o que parece.

Aliás.... reabrir com um último teste.... rs
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Função STATIC em VALID

Mensagem por JoséQuintas »

Pronto, um novo teste.
Assim acaba com qualquer dúvida, e com qualquer interferência.
Só substituir a macro por uma função.

Código: Selecionar todos

   @ 3, 1 GET n VALID Macro(x)
   @ 4, 1 GET n VALID Qualquer( n ) .AND. Macro(x)
...
FUNCTION Macro( x )
   RETURN &x
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/
Responder