mar. 23 février 2016, 01h47
eddymaue
atoutfox.public.association
un p'tit probleme régurgitant réglé
En cette heure matinale, bonjour,
voilà des mois que j'ai un problème de compilation avec un ramassis de
procédure dans un fichier em_function.prg.
un fichier d'environ 30,000 lignes de codes. Depuis presque un an
j'avais une erreur de compilation sur un #EndIF et ce n'était pas
évident de la trouver au travers de procédures de 30 à 150 lignes de
codes chacune avec un mélange de #if, #else, #ifdef, #elif #endif, ou
il y avait une erreur, juste une.
De plus j'ai beaucoup de
#if def_xxxxxxx
...preprocessing statement
#endif
dont les def_xxxxxxx sont dans un fichier de définissions et le
problème n'était pas une liaison de fichier
il manquait un #Endif dans une procédure de 300 lignes de code
qui était devenue obsolète depuis quelques années. Donc jamais exécuté
voici comment je mis suis pris pour trouver cette merde d'erreur
#define if_ #if
#define if_else #else
#define if_elif #elif
#define if_def #ifdef
#define if_end #endif
avec la fonction de Recherche/remplacement j'ai substitué les
preprocessing Keyword par leurs nouvelles définitions comme #if
par if_, #else par if_else... ainsi de suite
je n'aurais jamais cru que ça fonctionnerais
je ne voulais que balayer le fichier avec une recherche sur "if_"
et obligatoirement il me fallait rencontrer à tour de rôle if_ ou
if_def et if_end .
La recherche commence. Les if_ ou if_def, if_else, if_elif et if_end
se succédèrent jusqu'à ce que oups... il manque un if_end.... bref un
#endif
30 min plus tard, oups il manque un if_end ..... j'ajoute un if_end
dans ma fonction là ou je suppose qu'il le faut et je fait un ctrl+s
bingo.... pas d'erreur de compilation
a Ma surprise c'est que les nouvelles définitions se sont substituées aux
mots clef de préprocesseur de vfp
#define if_ #if
#define if_else #else
#define if_elif #elif
#define if_def #ifdef
#define if_end #endif
a+ eddy
--
Merci de partager avec moi votre immense savoir que je me ferai plaisir
d'absorber...
il va de soi que je vais vous en laisser un peu
Politesse et savoir vivre oblige ;0)
L'incompréhensible se réalise toujour avant le compréhensible parce que
tout simplement on ne l'a pas encore assimilé
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000017330