Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Änderungen in Unit 2 werden nicht beim Programmstart übernommen (https://www.delphipraxis.net/192227-aenderungen-unit-2-werden-nicht-beim-programmstart-uebernommen.html)

braucheHilfe 30. Mär 2017 17:09

Delphi-Version: 7

Änderungen in Unit 2 werden nicht beim Programmstart übernommen
 
Hallo,
Ich hab grade folgendes Problem:
Ich habe in einem Programm mehrere Units, welche auch alle bei unit1 unter uses eingebunden sind.
In Unit 2 war allerdings ein Text der bei einer showmessage-Box aufploppen sollte mit einem Rechtschreibfehler.
Ich hab den Fehler also berichtigt und wollte das Programm wieder starten.
Meine Änderung wurde aber nicht im Programm übernommen :(
Da ich aber weiß, dass für das Programm wichtige Prozeduren in Unit2 sind, die auch funktionieren, kann ich schon mal ausschließen, dass die Unit falsch eingebunden ist.
Wie kann ich mein Problem also lösen, damit die Änderungen in Unit2 auch im Programm sichtbar.
Danke

a.def 30. Mär 2017 17:16

AW: Änderungen in Unit 2 werden nicht beim Programmstart übernommen
 
Dein Problem ist irgendwie total seltsam.
Wenn ich einem VW einen Porsche-Motor einbaue, muss er ja auch definitiv schneller fahren. Dass ein simpler Rechtschreibfehler nicht übernommen... wird, klingt seltsam.

Sicher, dass du an der richtigen Stelle korrigiert hast und auch GENAU DER CODE aufgerufen wird den du korrigiert hast?

himitsu 30. Mär 2017 17:29

AW: Änderungen in Unit 2 werden nicht beim Programmstart übernommen
 
mögliche Gründe:

1. entweder wird eine andere Unit1.pas oder Unit1.dcu zum Kompilieren verwendet
* Steht die Unit1 explizit in der DPR drin (mit "unit IN datei") und taucht in der Projektverwaltung auf? (Unit1 weit oben in der DPR)
* Stimmen die Suchpfade, wenn sie implizit ins Projekt kompiliert wird? (nur im USES einer anderen PAS eingebunden)

2. oder der Compilier findet "nur" die Unit1.dcu, aber nicht die Unit1.pas, und verwendet das "alte" kompilat

3. oder der Compiler findet Unit1.dcu und Unit1.pas, aber erkennt nicht, dass sich Unit1.Pas geändert hat und verwendet dann einfach die Unit1.dcu


Bei 3 hilft ein explizites "Build" statt "Compile". (Erzeugen statt Compilieren)
und bei den anderen Zwei kannst du nur deine Festplatte mal durchsuchen


PS: Ich hoffe sie heißt nicht wirklich "unit1", anstatt einen ordentlichen Namen zu besitzen.
Wenn doch, dann bist'e selber auch mit dran Schuld, wenn es rum zickt.

hoika 30. Mär 2017 19:15

AW: Änderungen in Unit 2 werden nicht beim Programmstart übernommen
 
Hallo,
F5, F7, F8, Strg+F5.

Mehr muss man doch dazu nicht sagen, oder?

Delphi-Laie 30. Mär 2017 19:24

AW: Änderungen in Unit 2 werden nicht beim Programmstart übernommen
 
Zitat:

Zitat von braucheHilfe (Beitrag 1366014)
Wie kann ich mein Problem also lösen

Indem du uns den Quellcode zeigst oder - noch viel besser - das Projekt veröffentlichst.

Ansonsten ist das hier Glaskugelmodus.

Hobbycoder 31. Mär 2017 10:20

AW: Änderungen in Unit 2 werden nicht beim Programmstart übernommen
 
Zitat:

Zitat von himitsu (Beitrag 1366017)
2. oder der Compilier findet "nur" die Unit1.dcu, aber nicht die Unit1.pas, und verwendet das "alte" kompilat

3. oder der Compiler findet Unit1.dcu und Unit1.pas, aber erkennt nicht, dass sich Unit1.Pas geändert hat und verwendet dann einfach die Unit1.dcu


Bei 3 hilft ein explizites "Build" statt "Compile". (Erzeugen statt Compilieren)
und bei den anderen Zwei kannst du nur deine Festplatte mal durchsuchen

Darüber hinaus gibt es ja noch die nützliche Funktion "Bereinigen" Zitat aus der Hilfe:
Zitat:

Mit dem Kontextmenübefehl Bereinigen des Projektknotens in der Projektverwaltung löschen Sie alle erzeugten Dateien eines vorherigen Builds.
und in ganz seltenen Fällen kann es schon vorkommen, dass man mal die DCU's des Projekts per Hand löschen muss. Hat es alles schon gegeben. Im Normalfall sollte das aber nicht notwendig sein.

Gruß Hobbycoder


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz