2010-04-08 7 views
5

Ceci est un comportement étrange par mon D2006 comme il arrive parfois seulement. J'ai un projet que je veux déboguer. Le fichier que je veux déboguer s'appelle 'Main.pas'. J'ai un autre projet sans rapport avec le même nom d'unité et parfois le débogage me demande le mauvais fichier principal au lieu de l'unité principale du projet courant. Cela m'est arrivé avec d'autres fichiers portant le même nom. Je ne peux pas déboguer alors car les touches de débogage ne fonctionnent pas (elles ne font rien). Avez-vous connu le même problème? Comment puis-je le réparer?Delphi débogue une mauvaise unité

Merci.

+0

Happens aussi à Delphes 2009 pour moi si je travaille sur deux projets où les unités ont le même nom - si j'ouvre un fichier qui appartient l'autre version, le débogueur commence à utiliser la d'autres versions du répertoire source au lieu des répertoires du fichier projet ouvert (dpr). – mjn

Répondre

5

Utilisez-vous des chemins relatifs?

Si oui, j'ai découvert qu'il est utile de définir le répertoire de travail dans mon répertoire de projets et de charger un fichier depuis mon répertoire de projets en utilisant Fichier-> Ouvrir. La navigation et le chargement fixent apparemment le répertoire de travail, en corrigeant le cas où vous PENSEZ que vous utilisez des chemins relatifs à votre projet, mais Delphi les interprète par rapport au répertoire de travail de l'EDI. Fermez tous les autres onglets pour éviter les erreurs. Puisque le compilateur Delphi est une DLL, il interagit profondément avec l'IDE, et a probablement accès aux fichiers qui sont ouverts. (Il peut compiler des fichiers non sauvegardés!)

Sinon, cela pourrait être un phénomène bizarre, mais avoir toujours la même origine. Développer une habitude de fermer d'abord d'autres fichiers (clic droit sur tab-> fermer tous les autres), et fixer le répertoire de travail (avec l'unité de chargement via fichier-solution de contournement) pourrait aider. J'ai l'impression que la série d'IDE de BDS semble souffrir de cela plus que les classiques, mais le problème existait aussi dans les classiques. Cela peut être aussi simple que d'utiliser des options opendialog plus sophistiquées dans BDS, ce qui augmente les chances de changer de répertoire.

mise à jour Également l'ouverture de projets lorsque aucun autre projet n'est ouvert aide. Donc, cliquez toujours sur l'ancien projet avant d'ouvrir le nouveau, et ne cliquez pas sur un projet dans l'explorateur Windows si l'EDI est ouvert avec un autre projet chargé.

Delphi XE souffre encore de cette

+0

Je crois que c'est absolument correct. Maintenant, quand j'ouvre un fichier sans rapport, je n'utilise jamais Fichier, Ouvrir ... je fais glisser le fichier de l'explorateur à Delphi ou laisse l'explorateur décider comment ouvrir le fichier. –

+0

+1. J'ai découvert le truc File-> Open dans mes jours D2006 et m'y suis habitué. Je n'ai jamais pris la peine de vérifier si cela est toujours nécessaire dans D2007. –

+0

J'en ai toujours besoin dans D2009 –

0

Jetez un coup d'œil aux répertoires de sortie et de DCU du projet. Vous récupérez probablement une ancienne DCU à partir d'un répertoire DCU partagé. Effacer les DCU et reconstruire.

1

J'ai couru en cela aussi, et maintenant je tendance à donner des noms de fichiers uniques, comme au lieu de Main.pas, il pourrait être ProjectNameMain.pas

Vérifiez vos chemins de la bibliothèque et les chemins de la navigation dans les options d'environnement

+0

Si vous utilisez ce projet comme point de départ pour un nouveau projet (ou parallèle), tous les fichiers doivent être renommés: P - Imaginez comment vous pourriez avoir SysUtils50, SysUtils60, SysUtils70 et ainsi de suite dans le RTL, et avec chaque nouveau Delphi les développeurs de version doivent corriger toutes les références aux noms d'unités RTL :) – mjn

Questions connexes