Olá!
Creio que você esteja interpretando de forma errônea o conceito de pré processamento.
Tudo que se define com
#define, #command, #translate, #xcommand, #xtranslate se transforma em uma constante manifesta. Ao ser invocado, o compilador xBase invoca o pré processador que lê o arquivo fonte e troca as referências às constantes por seus valores. Uma constante manifesta, como diz o nome, não é uma variável. Desta forma, não é possível exibí-la através do
debugger, como você está tentando fazer.
Código: Selecionar todos
#DEFINE DATACOMP Right(_HBMK_BUILD_DATE_,2)+'/'+SubStr( _HBMK_BUILD_DATE_, 05,02 )
#DEFINE NOME "Rubens"
? NOME /// ---> errado
Código: Selecionar todos
#DEFINE DATACOMP Right(_HBMK_BUILD_DATE_,2)+'/'+SubStr( _HBMK_BUILD_DATE_, 05,02 )
#DEFINE NOME "Rubens"
Function Main()
Local cNome := NOME
? cNome /// ---> correto
Sempre lembrando que os nomes das constantes manifestas definidas são case sensitive, ou seja, letras maiúsculas e minúsculas influem.