Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi 64bit-dcp wird im 32bit-Verzeichnis gesucht (https://www.delphipraxis.net/212201-64bit-dcp-wird-im-32bit-verzeichnis-gesucht.html)

Carsten Hölscher 3. Jan 2023 16:43

64bit-dcp wird im 32bit-Verzeichnis gesucht
 
Ich hatte mein Projekt unter Delphi 10.4 erfolgreich für 32 und 64 bit laufen.
Jetzt nach dem Update auf Delphi 11 gibt es ein Problem mit der 64bit-Version (ich kann allerdings nicht ganz sicher sagen, ob es mit dem Update auf Delphi 11 kam)

Grundsätzlich lassen sich Projekte für 64bit erzeugen, Problem macht das Menüsystem SpTBXLib, das auf der Toolbar 2000 (tb2k_d12) aufbaut.
Beide bestehen je aus einem Designtime und einem "normalen" Package. Für Win32 kann ich beide erzeugen, bei Win64 lässt sich das Toolbar2000-Package erzeugen dann kommt aber beim SpTBXLib-Package die folgende Meldung:

Code:
[dcc64 Fataler Fehler] SpTBXItem.pas(75): E2213 Falsches gepacktes Unit-Format: C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\tb2k_d12.dcp.TB2Item - Erwartete Version: 35.0, Windows Unicode(x64) Gefundene Version: 35.0, Windows Unicode(x86)
Es gibt folgende Dateien - werden beide beim Erzeugen des tb2k_d12 neu erzeugt:
C:\Users\Public\Documents\Embarcadero\Studio\22.0\ Dcp\tb2k_d12.dcp
C:\Users\Public\Documents\Embarcadero\Studio\22.0\ Dcp\Win64\tb2k_d12.dcp

Meine Erwartung ist, dass beim Erzeugen der 64bit-Version auch in dem 64bit-Verzeichnis gesucht wird, aber offenbar wird die 32bit-Version herangezogen.
Kopiere ich die tb2k_d12.dcp vom Win64-Verzeichnis in das darunter, läuft das Erzeugen durch und ich kann auch mein Projekt erzeugen. Aber das kann ja so nicht ganz richtig sein (hab's jetzt nicht probiert aber dann dürfte ja die 32bit-Version nicht mehr laufen).

Carsten

Uwe Raabe 3. Jan 2023 16:49

AW: 64bit-dcp wird im 32bit-Verzeichnis gesucht
 
Prüf doch mal in Tools - Optionen - Sprache - Delphi - Bibliothek die Bibliothekspfade für Win64. Da sollte $(BDSCOMMONDIR)\Dcp\$(Platform) drin stehen und nicht $(BDSCOMMONDIR)\Dcp

juergen 3. Jan 2023 16:53

AW: 64bit-dcp wird im 32bit-Verzeichnis gesucht
 
Nach dem Umstellen von 32Bit auf 64Bit (oder auch umgekehrt) musst du als erstes das Projekt komplett neu erstellen. Falls du den Button nicht zur Toolbar hinzugefügt hast, findest du das unter Projekt => alle Projekte erzeugen

Carsten Hölscher 3. Jan 2023 16:54

AW: 64bit-dcp wird im 32bit-Verzeichnis gesucht
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1516940)
Prüf doch mal in Tools - Optionen - Sprache - Delphi - Bibliothek die Bibliothekspfade für Win64. Da sollte $(BDSCOMMONDIR)\Dcp\$(Platform) drin stehen und nicht $(BDSCOMMONDIR)\Dcp

Allerbesten Dank für den Tipp. Läuft. Jetzt hab ich bestimmt mindestens 2 Stunden alles mögliche abgesucht, aber die Einstellung war mir durch die Lappen gegangen.

Carsten

himitsu 3. Jan 2023 17:00

AW: 64bit-dcp wird im 32bit-Verzeichnis gesucht
 
Eine Lösung ist auch, wenn man für alle Plattformen unterschiedliche Ausgabeverzeichnisse hat. (DCU und auch DCP)

Für eigene Packages gebe ich in den Projektoptionen daher immer das DCP-, aber auch das BPL-Ausgabeverzeichnis mit an und nutze garnicht die Delphiverzeichnisse, welche leider nicht plattformabhängig sind.



Wenn irgendwas knallt, ist der erste und einfachste Lösungsansatz immer "Build" oder "Clean" oder selber alle generierten Dateien einmal zu löschen. (mit eigenen Ausgabeverzeichnissen ist das auch ganz einfach)

Uwe Raabe 3. Jan 2023 17:03

AW: 64bit-dcp wird im 32bit-Verzeichnis gesucht
 
Zitat:

Zitat von himitsu (Beitrag 1516944)
Für eigene Packages gebe ich in den Projektoptionen daher immer das DCP-, aber auch das BPL-Ausgabeverzeichnis mit an und nutze garnicht die Delphiverzeichnisse, welche leider nicht plattformabhängig sind.

Sind sie eigentlich schon. Lediglich die 32-Bit Verzeichnisse verweisen aus Kompatibilitätsgründen auf die plattformfreie Variante. Die anderen Plattformen nehmen da ihre eigenen Verzeichnisse.

Hier war es aber wohl eher ein fehlerhafter Eintrag im Suchpfad für Win64.

juergen 3. Jan 2023 17:12

AW: 64bit-dcp wird im 32bit-Verzeichnis gesucht
 
Sorry, ich hatte mich wohl auf die falsche Fährte locken lassen durch diese Meldung:

Zitat:

Code:
[…Erwartete Version: 35.0, Windows Unicode(x64) Gefundene Version: 35.0, Windows Unicode(x86)

Ich kenne diese Meldung beim compilieren, wenn man die Windows Bitigkeit geändert hat und das Projekt danach nicht neu erstellt hatte.

himitsu 3. Jan 2023 17:23

AW: 64bit-dcp wird im 32bit-Verzeichnis gesucht
 
OK.

Joar bei Suchpfaden muß man auch noch aufpassen, dass abhängige Pfade vor den normalen Suchpfaden kommen.



Zitat:

Code:
[…Erwartete Version: 35.0, Windows Unicode(x64) Gefundene Version: 35.0, Windows Unicode(x86)

Solche Meldungen sind machmal aber auch einfach nur wirrer Schrott.

Passiert auch gern mal wenn man zwischen Debug und Release umschaltet, oder an einem DEFINE was ändert,
und bei "gefunden" heißt es plötzlich, dass es garkein Windows sei oder gar von einer anderen Delphiversion.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 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