Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#22

Re: Seltsame Fehler in Delphi

  Alt 29. Jun 2005, 14:50
Zitat von oXmoX:
Mit "seltsamen" Fehlern meine ich z.B. folgendes:
  • 1) Ich vertausche zwei Zeilen im Quellcode und plötzlich verschwindet irgendwo in einem TMainMenu ein Eintrag. Anstelle des Eintrags wird nur ein leeres Feld gezeichnet.
  • 2) Ich Rufe eine OpenCV-Routine zur Detektion von Punkten auf einem Schachbrett auf, doch es werden keine Punkte gefunden. Darauf entferne ich an ganz anderer Stelle im Programm einen TButton oder ein TPanel von der GUI und auf einmal kann die OpenCV-Routine alle Punkte finden ...im selben Bild! Der TButton bzw. das TPanel hat jedoch mit Sicherheit nichts mit dieser Funktion zu tun.
Ich könnte jetzt noch andere Fehler nennen. Das lasse ich aber, weil ich dazu weiter ausholen müsste und alle Fehler einen ähnlichen Charakter, wie die beiden obigen haben.
Solche "lustigen" Fehler können auch eine ganz andere Ursache haben.

mschaefer hat es eigentlich schon angesprochen.
Zitat von mschaefer:
also zunächstmal dürfen keine DCU´s gleichen Namens im Suchpfad sein Zwischendurch am besten mal alle löschen.
Ein weiterer Punkt ist, das Delphi eine eigene Logik hat festzustellen, ob eine *.pas kompiliert werden muss oder nicht. Es ist leicht Möglich, das Delphi "alte" *.dcu Dateien verwendet, und dadurch seltsame Fehler entstehen. Wenn er nun "merkt" Huch ich muss neu kompilieren, macht er es "richtig" Das kann eine "sinnlose" Änderung wie 2 Zeilen vertauschen sein.

Ich empfehle Dir deshalb für Dein Projekt folgende dinge zu beachten.
  1. lösche alle *.dcu Dateien die nicht zu Delphi gehören und zu denen zu *.pas Dateien hast.
    Tip: [Win+F] Dateisuche -> *.dcu suchen (Vor allem unit1.dcu, unit2.dcu, ... löschen)
  2. In den Projektoptionen unbedingt den Pfad für "Ausgabe für Units" aus ein Verzeichnis z.B. C:\TEMP\ProjektName\dcu
  3. In den Projektoptionen unbedingt den Pfad für Suchpfad möglichst klein halten am besten leer.
  4. Nach Änderung der Projektoptionen unbedingt das Projekt speichern.
  5. Dann Menü "Datei -> Alle schließen" ausführen und nochmals in die Projektoptionen gehen.
  6. In den Projektoptionen unbedingt den Pfad für "Ausgabe für Units" auf ein Verzeichnis z.B. C:\TEMP\ToBeDeleted\dcu
  7. In den Projektoptionen unbedingt den Pfad für Suchpfad leeren.
  8. In den Projektoptionen unbedingt bei [X] Vorgabe ankreuzen und OK drücken.
    Damit werden für alle Projekte die *.dcu Dateien in C:\Temp\ToBeDeleted\dcu geschrieben, mit Ausnahme derer, die Du umdefinierst (s.o.)
  9. Statt Compile unbedingt immer Build benutzen (Menü "Projekt -> Projekt1 erzeugen")
Wenn nun Probleme auftreten, kannst du einfach das dcu Verzeichnis löschen.

Damit sollten Deine Probleme erledigt sein.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat