Geraldo (gbsilva) Posted September 9, 2012 Report Share Posted September 9, 2012 Pessoal gostaria de alterar alguns fontes para compilar condicionalmente dependendo da rdd usando um .ch, mas não deu certo. Criei um config.ch e usando #define para a constante da rdd, mas no prg não reconhece. Veja abaixo defini como rdd_sqllib, mas ao tentar o #ifdef ele não acha e compila após o #else. Aonde estou errando? Grato, No prg esta assim: #include "config.ch" #ifdef rdd_sqllib #Include "sqllib.Ch" #Include "sqlerror.ch" #Include "sqlevents.ch" #else #include "tdolphin.ch" #endif Function Main() ... comandos ... comandos return Grato, Conteúdo do config.ch //-> Usando TDolphin //#define rdd_TDolphin //-> Usando Sqllib #define rdd_Sqllib Geraldo B. Silva Fwh1112 Novembro/2011, xHarbour 2.0, Bcc582, Pelles, xDev, Sqllib e MySql. lucgera@terra.com.br São Paulo - SP Quote Link to comment Share on other sites More sharing options...
Geraldo (gbsilva) Posted September 9, 2012 Author Report Share Posted September 9, 2012 Pessoal gostaria de alterar alguns fontes para compilar condicionalmente dependendo da rdd usando um .ch, mas não deu certo. Criei um config.ch e usando #define para a constante da rdd, mas no prg não reconhece. Veja abaixo defini como rdd_sqllib, mas ao tentar o #ifdef ele não acha e compila após o #else. Aonde estou errando? Grato, No prg esta assim: #include "config.ch" #ifdef rdd_sqllib #Include "sqllib.Ch" #Include "sqlerror.ch" #Include "sqlevents.ch" #else #include "tdolphin.ch" #endif Function Main() ... comandos ... comandos return Grato, Conteúdo do config.ch //-> Usando TDolphin //#define rdd_TDolphin //-> Usando Sqllib #define rdd_Sqllib Geraldo B. Silva Fwh1112 Novembro/2011, xHarbour 2.0, Bcc582, Pelles, xDev, Sqllib e MySql. lucgera@terra.com.br São Paulo - SP Quote Link to comment Share on other sites More sharing options...
ZECA Posted September 9, 2012 Report Share Posted September 9, 2012 citação:Pessoal gostaria de alterar alguns fontes para compilar condicionalmente dependendo da rdd usando um .ch, mas não deu certo. Criei um config.ch e usando #define para a constante da rdd, mas no prg não reconhece. Veja abaixo defini como rdd_sqllib, mas ao tentar o #ifdef ele não acha e compila após o #else. Aonde estou errando? Grato, No prg esta assim: #include "config.ch" #ifdef rdd_sqllib #Include "sqllib.Ch" #Include "sqlerror.ch" #Include "sqlevents.ch" #else #include "tdolphin.ch" #endif Function Main() ... comandos ... comandos return Grato, Conteúdo do config.ch //-> Usando TDolphin //#define rdd_TDolphin //-> Usando Sqllib #define rdd_Sqllib Geraldo B. Silva Fwh1112 Novembro/2011, xHarbour 2.0, Bcc582, Pelles, xDev, Sqllib e MySql. lucgera@terra.com.br São Paulo - SP id=quote>id=quote>Boa tarde!! Voce tem que dizer o que quer no momento em vai compilar o programa. Por exemplo, eu tenho um programa em clipper que cria o Programa de transporte e o programa de minutas usando os mesmos PRGs. Como faço: Tenho o makemenu.bat e makeminu.bat Tenho o Menu.rmk que é comum a ambos Tenho o normenu.lnk e norminu.lnk O makemenu é feito da seguinte forma @Echo off h:\clipp52e\bin\RMAKE MENU.RMK /dTRC >> make.txt @Echo off Note que uso a clausula /dTRC, isto é ;introduzo a variavel TRC que mais tarde será lido pelo sistema. O makeminu é feito da seguinte forma @Echo Off h:\clipp52e\bin\RMAKE MENU.RMK >> make.txt @Echo off No makeminu não uso a clausula d/TRC A linkedição é feita normalmente inclusive voce pode escolhe o arquivo lnk que quiser Dentro do programa, no inicio é feito a leitura da variavel TRC #IFDEF TRC programa:="TRANSPORTES" autonumerador:=.T. CorTrc:="GR+/RB" CorTrc1:="GB+/RB" #ELSE programa:="MINUTA" autonumerador:=.T. corTrc:="B/GB*" corTrc1:="R/GB*" #ENDIF Espero ter sido tem bem didatico. Caso voce use outro compilador, basta procurar a clausula que corresponde ao /d do clipper Boa sorte Sds José Carlos - ZECA fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP Quote Link to comment Share on other sites More sharing options...
Eric.Developer Posted September 10, 2012 Report Share Posted September 10, 2012 Observe que a sua definição e referencia a constante, esta diferente. Lembre-se, constantes diferenciam maiúsculas e minúsculas. citação:Veja abaixo defini como rdd_sqllib, mas ao tentar o #ifdef ele não acha e compila após o #else.Aonde estou errando? id=quote>id=quote> Quote Link to comment Share on other sites More sharing options...
Geraldo (gbsilva) Posted September 12, 2012 Author Report Share Posted September 12, 2012 Eric na mosca era isso mesmo. Muito obrigado. Sds, Geraldo B. Silva Fwh1112 Novembro/2011, xHarbour 2.0, Bcc582, Pelles, xDev, Sqllib e MySql. lucgera@terra.com.br São Paulo - SP Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.