Autor Beitrag
GuaAck
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 376
Erhaltene Danke: 32

Windows 8.1
Delphi 10.4 Comm. Edition
BeitragVerfasst: Fr 25.09.20 00:24 
Hallo Experten,

bei meinem Umstieg von Delphi 7 auf Delphi 10.3 habe ich jetzt folgendes Problem:

Ich habe eine Sammlung mit einer HauptUnit, die dann per USES weiter Units einbindet, die wiederum andere Units aus der Sammlung einbinden.

Zum Compilieren habe ich mir (in Delphi 10.3) ein kleines Projekt erstellt, in dem die HauptUnit im USES steht und dann als Dummy auch ein Objekt der Hauptklasse creiert und etwas Unsinn damit gemacht. Ich habe dann das Projekt erzeugt, dabei wurden alle Units auch als DCUs erzeugt. Ich fand das erstaunlich, denn ich hatte die HauptUnit nicht in mein Projekt hinzugefügt. Mein Unsinn-Programm lief auch, bestens.

Nun das Problem: Wenn ich alls Units in mein allgemeines Unit-Verzeichnis kopiere und die HauptUnit in ein anders Delphi 10.3-Projekt per USES einbinde, dann erhalte ich beim Compilieren die Fehlermeldung "Unit 'HauptUnit' kann nicht compilert werden". Klar, der Compiler findet die Quellen nicht. Aber warum will er das neu compilieren, das ist doch schon ganz frisch compiliert?

Es könnte daran liegen, dass die Units auch noch eines von mehreren Laufzeit-Packages braucht. Ich habe es schon mit Projekt/Optionen/Packages/Laufzeit-Packages_einbinden=TRUE versucht,das war kein Erfolg. (Bei Delphi 7 musste ich mich auch nicht um die Packages kümmern, die übrigens auch nur wenige 100 Bytes groß sind.)

Bin gespannt, ob jemand einen Tipp hat.

Viele Grüße
GuaAck
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 25.09.20 06:45 
Da sind vielleicht noch Pfade falsch. Bei uns ist im Bibliothekspfad nur das DCU-Ausgabeverzeichnis unserer Packages mit Units und Komponenten enthalten. Dort liegen die kompilierten .dcu Dateien. Das ist bei dir auch so?

Du könntest auch mit dem Process Monitor schauen wo dort eigentlich nach der Unit gesucht wird:
Filter auf "Path" "contains" "HauptUnit"
GuaAck Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 376
Erhaltene Danke: 32

Windows 8.1
Delphi 10.4 Comm. Edition
BeitragVerfasst: Fr 02.10.20 00:23 
Hallo Jaenicke,

es scheinen ja keine weiteren Antworten zu kommen.

Ja, ich habe als Suchverzeichnis genau ein Verzeichnis angegeben, in dem die Units enthalten sind. Ich habe immer für jede Unit oder Gruppe von Units ein eigenes Verzeichnis, in dem sich ein Testprojekt befindet und in dem ich die Unit entwickele. Erst die fertige Unit kopiere ich dann in das Unit-Verzeichnis, als etwa als Freigabe. Für Delphi 7 und 10.3 habe ich je ein eigenes Unit-Verzeichnis.

Den von Dir angesprochenen Prozess-Monitor habe ich in keinem Menü gefunden. Nach Suchergebnissen im Internet ist das ein eigenes Add-in, ist das richig?

Danke für diesen Hinweis auf das Tool,

Gruß
GuaAck
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 02.10.20 05:59 
user profile iconGuaAck hat folgendes geschrieben Zum zitierten Posting springen:
Den von Dir angesprochenen Prozess-Monitor habe ich in keinem Menü gefunden. Nach Suchergebnissen im Internet ist das ein eigenes Add-in, ist das richig?
Ja, der Process Monitor ist ein (finde ich) wichtiges Tool für jeden Entwickler und kann von Microsoft direkt heruntergeladen werden (Microsoft hat diese Tools mal gekauft, ich glaube inkl. Entwickler).

Für diesen Beitrag haben gedankt: GuaAck