Autocompletion (codeinsight)

Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 - 22 nov. 2007 à 11:34
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 - 22 nov. 2007 à 22:06
salut a tous,
j'ai une question qui, a mon avis, restera sans réponse qui me conviendra, mais je la pose quand meme a tout hasard.
J'ai un gros projet tout pourrit (300 unités propres au projet), et des fois, il ne veut pas m'afficher la fenetre d'autocompletion.
Il me met un message [erreur fatale]Fichier1.pas : Fichier non trouvé: 'Fichier2.dcu'
fichier1 et fichier2 appartiennent bien au projet :
uses
    FichierX in 'XXX\FichierX.pas',
et meme apres compilation ou contruction (avec environ 700 avertissement/conseil !!!) qui reussit, ca ne marche toujours pas.
par contre, il affiche bien l'autocompletion pour certaines unités.
j'ai essayé de copier le dcu (qui est normalement compilé dans un sous dossier \DCUs\) a cote de son .pas, rien n'y fait.

Avez vous d'autres propositions?

Merci

PS: je suis  sous D7

6 réponses

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
22 nov. 2007 à 15:23
Bonjour

L'autocompletion peut ne pas s'executer s'il y a un element (type ou fonction par exemple) défini avec un même nom dans plusieurs unités. Au quel cas, il faut spécifier l'unité d'appartenance (unit1.MaFonction unit2.MaFonction).
L'autocompletion ne se réalise pas correctement non plus si on utilise plusieurs fois des fichiers inclus ( {$I MonFichier.pas} ) contenant du code pour "simuler" des "pseudos macros".
Attention également aux $DEFINE et autres directives de compilations...

Bref, pour que l'autocompletion fonctionne, il faut être super rigoureux... et donc :
  "J'ai un gros projet tout pourrit " "avec environ 700 avertissement/conseil !!!"

Faudrait peut être déjà commencer par là !! et avoir un projet moins pourri compilable sans avertissements.

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
22 nov. 2007 à 15:30
Autres pistes :

Attention, également à l'ordre d'appel des unités !!!
Si unit1 utilise unit2 alors il serait bon que dans la clause "uses" cet ordre soit respecté.

De plus, pour s'affranchir d'eventuels problèmes de références, supprime tous les  chemins définis dans les options du projet.

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
0
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
22 nov. 2007 à 16:40
[citation]
Bref, pour que l'autocompletion fonctionne, il faut être super rigoureux... et donc :
  "J'ai un gros projet tout pourrit " "avec environ 700 avertissement/conseil !!!"
Faudrait peut être déjà commencer par là !! et avoir un projet moins pourri compilable sans avertissements.
/citation

j'aimerai bien

quand je suis arrivé, il y en avait plus de 1000 !!!
j'essaye d'en retirer au fur et a mesure, mais c'est pas simple :/
Le pire, c'est que le logiciel fonctionne avec les bugs. A mes debuts, j'ai corrigé une fonction qui renvoyait un resultat erroné; resultat ... plus rien ne marchait
depuis, je m'y prend avec des pincettes.

mes 2 unités sont bien dans le bon ordre dans les uses de mon dpr

Un autre truc assez surprenant, j'ai quelques fichiers qui se compilent quasiment à chaque fois, alors qu'ils ne sont jamais modifiés, et qu'ils n'ont pas trop de uses! De toutes facon ce projet est un gros bordel, si tu as besoin de mettre une seule de ces unités dans un projet externe, il faut que tu ajoute les 299 autres unités
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
22 nov. 2007 à 18:02
Tu dois avoir certainement un projet OCPU "One class per Unit" ce qui expliquerait l'obligation d'ajouter toutes les unités. Si ce n'est pas le cas, alors je vois pas pourquoi tu as autant d'unités.

P.S. Si tes sources sont diffusables, je peux y consacrer un peu de temps, pour jeter un coup d'oeil dessus et tenter de solutionner ton problème.

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
22 nov. 2007 à 21:32
non non, c'est pas du OCPU, c'est juste developpé avec les pieds ... et sans enlever les bottes !

bref, j'ose meme pas te mettre une ligne tu pourrai pleurer.
P.S: le code est privé, désolé je peux pas te montrer, mais c'est desesperant, ya 700 000 lignes qui font la meme chose que la moitié.
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
22 nov. 2007 à 22:06
Suggestion :
Si tu es sous Delphi 7 entreprise (je sais pas si présent sous les autres versions de D7), un petit tour des unités sous modelmaker et hop tu auras alors de quoi clarifier ton code.

Mais, il faudra quand même passer un peu de temps dessus.

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
0
Rejoignez-nous