2009-06-06 11 views
3

Geändert, aktualisiert, Formular wird nicht verwendet, obwohl Verwendung und Projekteinstellungen scheinen gut, alte Formulardateien von der Festplatte entfernt.Delphi 7 verwendet altes veraltetes Formular

Ist das ein Fehler in der IDE? Ich kann nur das Formular löschen und es in eine andere Einheit mit einem neuen Namen kopieren.

Antwort

0

Nein, es ist kein Fehler in der IDE.

Sie verweisen auf dieses Formular in einer Einstellung in Ihrem Projekt oder Ihrer Umgebung, die Sie noch nicht gefunden haben und die Vorrang vor Optionen hat, die Sie bereits optimiert haben.

Wohin müssen Sie gehen, um Ihr Problem zu lösen? Nun, das ist schwer zu sagen, ohne auf Ihre Entwicklungsumgebung und Ihre Projekteinstellungen zu schauen.

1

Wenn es ein altes Formular verwendet, muss es es von irgendwo bekommen - es erscheint nicht aus der Luft. Zwei Szenarien kommen in den Sinn:

1) Es ist irgendwo, wo Sie nicht erkennen. Durchsuchen Sie Ihr System nach Dateien mit diesem Namen.

2) Sofern Sie nicht einen Build erstellen, kompiliert Delphi basierend auf Zeitstempeln. Wenn die Uhr falsch war, als sie kompiliert wurde, bevor die .dcu eine neuere Zeit haben kann, wird sie beim Kompilieren übersprungen. Ich habe das mehr als einmal mit Zeitzonen getroffen.

1

Ein guter Weg, um es zu finden, besteht darin, zuerst das Projekt in einen anderen neuen Ordner zu verschieben und zu versuchen, es zu kompilieren. Dies sollte produzieren und Fehler, die Ihnen helfen, den Schuldigen zu finden. Wenn dies nicht funktioniert, sind Einstellungen wie Pfade usw. in Ihren Bibliotheken die Ursache.

Stellen Sie außerdem sicher, dass Sie alle ".dcu" -Dateien im Projekt vor dem erneuten Kompilieren gelöscht haben.

0

Ich hatte das schon einmal passieren. Es ist immer etwas referenziert, das mir nicht bewusst war.

Sie können ein Grep für etwas aus dem Formular tun und sehen, wo es auftaucht.

0

Danke für die Eingabe. Die erste, die ich ausprobierte, bewegte die Dateien, mm2010, zeigte, dass mein Code fehlerhaft war.

0

Obwohl das Formular/die Einheit nicht in der Projektdatei (dpr) enthalten ist, wird es immer noch von einer anderen Einheit referenziert. Also verbindet der Compiler die res in die Anwendung. Suchen Sie nach dem Einheitennamen, den Sie in den uses-Klauseln anderer Einheiten entfernen möchten.