ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Forum AtoutFox : un p'tit probleme régurgitant réglé   

Sujet

rss Flux RSS des derniers messages

Vous devez vous identifier pour pouvoir poser une question ou répondre.

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
20 088 messages dans le forum • Liste complète des messages

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3