Página 1 de 1
#include dentro de um #ifdef
Enviado: 09 Nov 2015 19:54
por asimoes
Pessoal,
Tem como incluir um #include dentro de um #ifdef ?
Ex.: hbmk2 teste -dteste
#ifdef teste
#include "teste.ch"
#else
#include "teste2.ch"
#endif
#include dentro de um #ifdef
Enviado: 09 Nov 2015 20:21
por Jairo Maia
Olá Alexandre,
Sim. Normal. Que problema você está tendo?
#include dentro de um #ifdef
Enviado: 09 Nov 2015 20:41
por asimoes
Olá Jairo,
Não está funcionando.
Veja o código:
Código: Selecionar todos
FUNCTION MAIN
Local cToken:="D"
#if defined( prod )
#include "token.ch"
#endif
#if defined( homolog )
#include "token.ch"
#endif
Alert(cToken)
RETURN Nil
No arquivo token.ch
Código: Selecionar todos
#ifdef prod
#define cToken "P"
#endif
#ifdef homolog
#define cToken "H"
#endif
#include dentro de um #ifdef
Enviado: 09 Nov 2015 20:46
por asimoes
Jairo,
Está funcionando, eu não sei o que foi, o include que eu estava testando era datas.ch alterei o nome para token.ch e funcionou, não entendi.
#include dentro de um #ifdef
Enviado: 09 Nov 2015 20:58
por Jairo Maia
Mas você precisa definir a sessão que deseja para o #ifdef. Altere o exemplo assim que vai funcionar:
Código: Selecionar todos
FUNCTION MAIN
Local cToken:="D"
#define prod // se for producao
//#define homolog // comente prod e descomente homolog se for homologacao
#if defined( prod )
#include "token.ch"
#endif
#if defined( homolog )
#include "token.ch"
#endif
Alert(cToken)
RETURN Nil
#include dentro de um #ifdef
Enviado: 09 Nov 2015 21:00
por Jairo Maia
Legal Alexandre, tenha uma boa noite. Até amanhã...
#include dentro de um #ifdef
Enviado: 10 Nov 2015 11:37
por JoséQuintas
Talvez porque no que postou estava errado
Só comentário:
prod confunde com produto.
Talvez seja mais interessante, já que não faz diferença pro compilador, usar algo assim:
#define AMBIENTE_PRODUCAO
#define AMBIENTE_HOMOLOGACAO
E talvez até mover essa parte para o token.ch, pra não precisar #ifdef nos fontes