Pb de remplacement de Macro et Préprocesseur
Bonjour,
J'utilise un préprosseur pour convertir des fichiers (*.sc) contenant du SQL embarqué pour Ingres.
Les instructions sont remplacées dans le fichier c générés par des appels à des fonctions natives Ingres.
Du genre:
Code:
1 2 3
| EXEC FRS PUTFORM :ecran (
champ_toto = :toto
); |
devient
Code:
1 2 3
| if (IIfsetio(ecran) != 0) {
IIputfldio("champ_toto",(short *)0,1,30,4,&toto);
} |
Ici champ_toto représente un libellé sur un écran (form) dont on voudrait changer la valeur avec celle contenu dans la variable toto.
Je voudrais remplacer champ_toto par une macro de type FIELD_TOTO car souvent utilisé dans mon code.
Le pb c'est que le préprocesseur crée ceci:
Code:
1 2 3
| if (IIfsetio(ecran) != 0) {
IIputfldio("FIELD_TOTO",(short *)0,1,30,4,&toto);
} |
Et la chaine de caractère n'est du coup pas remplacé par le compilateur C.
Auriez-vous une astuce à me proposer ?
Note: pas possibilité de changer la moindre option de pré-processing ou de compilation, cela impactérais le travail de tous mes autres collègues qui se foutent royallement de mon envie de coder proprement ;-)