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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
EXEC FRS PUTFORM :ecran (
      champ_toto = :toto
);
devient
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ;-)