Jump to content
Fivewin Brasil

Usando ch na compilação condicional


Geraldo (gbsilva)

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...