![]() |
Ungültige VersionsInfo in DProj seit Delphi XE2
Ich bin am Mirgrieren meines Projekts von XE auf XE2 und habe ein Problem mit meinem selbst gestrickten Builder.
Bis anhin las ich vor dem Bilden die Product-Version aus dem DPROJ-XML-File mit folgender XPath-Klausel:
Code:
Seit XE2 scheint diese VersionInfoKeys zwar noch vorhanden zu sein, wird bei Änderungen aber nicht mehr aktualisiert.
Project/ProjectExtensions/BorlandProject/Delphi.Personality/VersionInfoKeys/VersionInfoKeys[@Name="ProductVersion"]
Ich nehme an, XE2 holt neu die Informationen neu direkt aus dem Projekt.res-File. Hat jemand eine Idee, wie man einfach wieder an diese Versions-Infos gelangt? Danke für gute Tips! Christoph |
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Indem du die RES ausliest? (irgendwo in der DP wurde letztes Jahr dieses besprochen)
Oder die EXE auslesen (dazu findet man noch mehr) |
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
XE2 verwendet eine Vererbungshierarchie der VersionsInfo innerhalb der Build-Konfigurationen. Daher ist die Versionsinfo abhängig von der gewählten Build-Konfiguration. Folglich hat sich auch der Zugriffspfad entsprechend geändert bzw. ist nicht mehr statisch.
|
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Dass die Konfiguration neu noch mehr vererbt wird, ist mir klar. Neue (geänderte)Versionsinformationen finde ich aber niergends mehr im XML Tree.
Weiss jemand, ob dies eine gewollte Projektfile-Umstellung ist, oder ob dies mit einem Update später wieder geändert wird? Das Res-file auszuwerten scheint mir etwas aufwenig. Das Exe habe ich zum Zeitpunt, wo ich diese Info benötige, noch nicht kompiliert. |
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Zitat:
Code:
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
Zitat:
|
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Ich verwende nur eine einzige Einstellung für die VersionsInfo in "Alle Konfigurationen", welche in der dproj unter "<Project...><PropertyGroup Condition="'$(Base)'!=''"><VerInfo_Keys>" (und ähnliche) zu finden ist.
Wenn man allerdings ein Projekt von einer älteren Version hochzieht, muss man die überflüssigen Einträge in den anderen Konfigurationen erst manuell entfernen. |
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Besten Dank für die hilfreichen Tips! Die Versions-Info befinden auch in meinem Projekt neu unter
Code:
und bei Veränderungen der abgleiteten Konfigurationen unter dem entsprechenden Konfigurationsnamen.
Project/PropertyGroup[@Condition ="''$(Base)''!=''''"]/VerInfo_Keys
Verwirrend finde ich, dass bei nicht nur bei migrierten sondern auch bei neu erstellten Projekten der alte Pfad
Code:
immer noch ins XML-Projekt-File eingefügt wird.
Project/ProjectExtensions/BorlandProject/Delphi.Personality/VersionInfoKeys/VersionInfoKeys[@Name="ProductVersion"]
|
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Ich habe die ganzen Probleme umgangen, indem ich alle Files einfach lösche. Bei mir ist nur die .dpr relevant. Den Rest betrachte ich als Microsoft-XML-MSBuild-Schrott. Also weg damit!
|
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Ich verwende XE4, das Projekt ist aus einem alten Delphi5-Projekt konvertiert
Ich versuche, die Versionsinforationen zu ändern (z.B. von Datei- und Produktversion von 1.4.0.0 auf 1.5.0.0). Ich habe die Empfehlung, aus der dproj-Datei die Versionsinformationen für verschiedene Konfigurationen zu löschen, befolgt. In den Projekteigenschaften sehen alle Versionsinformationen richtig aus Nach dem Erzeugen der DLL steht in der DLL eine alte Versionsinformation In der RES-Datei finde ich die alte Versionsinformation Auch wenn ich die RES-Datei lösche, wird eine neue mit der falschen Versionsinformation wieder erzeugt. In der dproj-Datei stehen definitiv nirgends die falschen Versionsinformationen Was kann ich tun ? |
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Ich würde die Projektdatei in XE4 komplett neu erstellen und dieser neu erstellten Projektdatei die entsprechenden Units hinzufügen für die DLL. Dann noch in den Projektoptionen die entsprechenden Versionsinformationen eintragen und alle alten DCU-Dateien löschen. Danach das Projekt komplett neu erstellen und Du solltest die richtigen Versionsinformationen in der DLL angezeigt bekommen.
|
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Danke, das hatte ich auch schon angefangen.
Jedoch bekomme ich nun Fehlermeldungen, weil z.B: die Unit Forms fehlt. Auch, wenn ich <FrameworkType>VCL</FrameworkType> in meiner dproj-Datei eintrage. Bleiben diese Fehler. Wie kann ich aus einem neu erstellten DLL-Projekt ein VCL-Projekt machen ? |
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Hä, was willst Du ? Hast Du jetzt eine Delphi 5 DLL-Projektdatei oder eine VCL-Projektdatei ?
|
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Es war ein Delphi5-Projekt, das die Unit Windows und Forms verwendet hatte.
Nachdem dieses beim Öffnen in XE4 nach XE4 konvertiert wurde, fand ich in der dproj-Datei den Eintrag <FrameworkType>VCL</FrameworkType> Es ließ sich Compilieren, jedoch mit Chaos in der Versionsverwaltung Dann habe ich ein DLL-Projekt neu angelegt. Dieses hatte stattdessen <FrameworkType>None</FrameworkType> So bin ich auf VCL-Projekt gekommen. Im neuen Projekt kann ich die Units Windows und Forms offenbar nicht verwenden. |
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Wenn du noch nicht qualifizierte Unit-Namen wie Windows oder Forms verwendest, musst du die Unit-Gültigkeitsbereichsnamen setzen.
|
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Stell einfach das Framework nicht selbst um, sondern lass alles wie es ist (auf None) und erstelle ein neues VCL-Formular. Dann sollte dich Delphi fragen, ob VCL als Framework eingestellt werden soll, dann sollte auch alles richtig eingestellt werden.
Wenn das bei deinem Projekt nicht passiert, mach es bei einem neuen und vergleiche die Unit-Gültigkeitsbereiche, die Uwe Raabe schon angesprochen hat. |
AW: Ungültige VersionsInfo in DProj seit Delphi XE2
Vielen Dank für Eure Hilfen
Jetzt geht alles |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz