Il est assez facile de trouver toutes vos dépendances externes. Il suffit de lancer le programme et ouvrir la fenêtre d'information sur les modules. Mais comment puis-je trouver toutes mes dépendances internes? Je sais que le programme conserve une liste de toutes les unités, car j'ai parcouru le code d'initialisation une fois ou deux. Mais existe-t-il un moyen facile d'accéder à cette liste à partir du débogueur?Comment puis-je trouver toutes les unités dans mon application Delphi?
Répondre
Une autre, mais assez lourd moyen, est de générer un fichier de la carte, il contient une liste de toutes les unités utilisées dans un programme.
voir aussi cette réponse: How can I find all the units in my Delphi app?
Avez-vous regardé Analyzer Pascal ou la version gratuite limitée, Icare, de Peganza Software? Ils créeront des "rapports d'utilisation" vous indiquant quel module utilise ce que les autres utilisent, ce qui devrait vous donner l'information que vous recherchez.
Marc
Je connais au moins deux façons dont vous pouvez essayer d'obtenir une vue de toutes les unités utilisées dans votre projet
- CTRL-MAJ-B ouvre le navigateur d'objets. Si je ne me trompe pas, ici vous pouvez avoir une vue des unités utilisées. Je ne suis pas entièrement sûr de cette méthode et Delphi n'est pas disponible pour la vérifier.
- utilisation Modelmaker; Modelmaker peut vous donner une vue arborescente de toutes vos dépendances d'unités. Regardez la section Visualizing existing code pour plus d'informations.
Il y a un (assez vieux) utilitaire appelé UsgParse. Il construit une arborescence de toutes les unités référencées par un projet.
J'ai trouvé une copie sur le site NexusDB via http://coding.derkeiler.com/Archive/Delphi/borland.public.delphi.thirdpartytools.general/2004-03/0231.html
source: http://www.nexusdb.com/downloads/USGParse/USGParse_src.zip
binaire: http://www.nexusdb.com/downloads/USGParse/USGParse.zip
GExperts a un outil Dépendances d'un projet. Je l'ai déjà utilisé en essayant de retrouver les unités utilisées. Vous ne pouvez pas effectuer de recherche mais vous pouvez exporter la liste dans un fichier CSV et y effectuer une recherche. Ceci indique également seulement ce qui est dans la section uses. Si vous avez inclus un module qui n'est pas utilisé, il apparaîtra toujours.
J'utilise les GExperts Dépendances d'un projet.
Avec le « Utilisé par ... », vous pouvez voir les unités incluses mais non utilisés par personne. Mais vous ne pouvez pas voir l'unité incluse dans les clauses uses qui pourraient être supprimées lorsqu'elles n'ont aucun code réellement appelé.
est ici l'aide:
Dépendances projet
L'expert de la dépendance de projet vous permet de voir quelles unités une unité particulière utilise, et à son tour ce que les unités utilisent une unité particulière. Lorsque cet expert est activé, il analyse toutes les clauses du code source du projet en cours et construit une liste de dépendances. Pour afficher les informations de dépendance pour une unité particulière, cliquez dessus dans le volet de gauche. Le volet de droite contiendra les informations de dépendance. Les dépendances indirectes sont des unités utilisées par les unités utilisées d'une unité particulière.
Vous pouvez actualiser les informations de dépendance à tout moment en cliquant sur le bouton d'actualisation de la barre d'outils et vous pouvez trier la liste des fichiers en cliquant sur les en-têtes de colonnes.
alt text http://www.gexperts.org/tour/project%20dependencies.png
OTOH, vous pouvez également utiliser gratuitement Peganza's ICARUS comme outil de reporting plus détaillé mais moins interactif ...
La meilleure façon est de compiler le programme et vérifier que .dcu
a été créé par le compilateur. Assurez-vous de configurer le compilateur pour créer .dcu
dans un répertoire distinct, par exemple c:\dcu
. J'ai créé l'utilité simple qui recherche .pas
pour chaque fichier .dcu
dans les répertoires qui sont dans un chemin de recherche de compilateur (qui peut être lu du fichier .cfg
, .dof
ou .bdsproject
).
Le débogueur Delphi peut vous montrer quelles unités ont été compilées dans un module (exe, dll ou package). Vous pouvez le voir dans la vue Modules (View | Debug Windows | Modules). Cliquez sur un module dans le volet supérieur gauche et le volet inférieur gauche affichera toutes les unités de compilation qui ont été intégrées dans ce module. Si une unité de compilation particulière était constituée de plusieurs fichiers source (par exemple, un fichier .pas et un fichier .inc), cela s'affichera également (lorsque vous développez l'unité de compilation).
Alternativement, vous pouvez demander au compilateur Delphi de vous montrer une liste de fichiers .dcus en passant --depends lorsque vous compilez un projet. Il produira un fichier .d avec une liste des fichiers .dcus (et .dcps) requis.
Vous pouvez utiliser un fichier MAP en conjonction avec MapFileStats, cela ne vous donnera pas seulement toutes vos dépendances, mais la quantité de code (et de ressources) qu'ils contribuent dans l'exécutable final.
Utile pour repérer des unités dont vous avez des dépendances, mais qui en utilisent peu, ainsi que pour repérer des unités de type «gros cochon», qui prennent tout avec l'évier de cuisine. FWIW, en réduisant les dépendances et en éliminant les porcs, n'est pas seulement bénéfique pour la taille de l'exécutable, mais il est également bénéfique à l'avenir de passer à une nouvelle version.
- 1. Empêche l'importation implicite des unités dans les packages Delphi
- 2. Trouver toutes les majuscules dans les colonnes?
- 3. Trouver toutes les fonctionnalités dans Lucene
- 4. Comment trouver toutes les cases non cochées?
- 5. "Les bases de Delphi" dans Delphi 2009
- 6. Remplacer les unités de fonction
- 7. Comment trouver toutes les initialisations dans un texte?
- 8. Comment mon application peut-elle trouver l'expéditeur d'un message Windows?
- 9. Détecter si mon application s'exécute sous l'EDI "Delphi 2007 .Net"
- 10. Comment fonctionnent les unités de mesure F #?
- 11. Comment conserver une fenêtre au-dessus de toutes les autres fenêtres de mon application uniquement?
- 12. Comment obtenir la liste des unités dans un package compilé Delphi (fichier .dcp)
- 13. trouver l'adresse IP dans mon réseau
- 14. Trouver toutes les références à Voir
- 15. Comment puis-je identifier et supprimer des unités inutilisées dans la clause "uses" de Delphi 7?
- 16. Trouver toutes les cases sont cochées dans jQuery
- 17. Comment trouver toutes les correspondances de '{{**** *** **}}' avec une regex?
- 18. Trouver les paramètres du port série dans Delphi
- 19. Application glisser-déposer inter-applications dans Delphi
- 20. Comment trouver toutes les valeurs possibles d'une énumération?
- 21. Comment trouver toutes les classes qui implémentent une interface donnée?
- 22. Comment "publier" mon application?
- 23. Comment afficher les erreurs de mon application dans JSF?
- 24. trouver toutes les valeurs en double dans un attribut d'élément
- 25. trouver toutes les dépendances dans une compilation verilog
- 26. Lettre étrangère "t" dans la sortie de mon application Zend Framework - comment la trouver au mieux?
- 27. Trouver toutes les classes avec un attribut particulier
- 28. Toutes les suggestions pour séparer l'accès aux données, la logique métier et l'interface graphique dans Delphi
- 29. Comment utiliser Windows clé dans mon application
- 30. Problèmes de synchronisation dans mon application VB.NET
J'ai appris quelque chose de nouveau aujourd'hui: '--depends' :) J'ai toujours nettoyé le répertoire .dcu, puis j'ai fait un' dir/b' du répertoire .dcu après une compilation. L'astuce du débogueur est soignée aussi! –
Quelles versions du compilateur connaissent le commutateur --depends? – dummzeuch
Je pourrais toujours utiliser un peu plus de cerveau :-) Merci pour cette réponse géniale. –