![]() |
Re: SVN Revision als Buildnummer nutzen in Delphi
Also ich hab jetzt zum einen das rc file in ein res File kompiliert (mit BRCC32) In meinem Projekt hab ich dann dieses ResFile mittels
Delphi-Quellcode:
eingefügt. Funktioniert auch soweit ganz gut.
{$R 'Version.res' 'Version.rc'}
Als Alternative hab ich direkt das RC File in meinem Projekt hinzugefügt und dann kompiliert er es direkt mit, wenn ich ein Build erstelle. Das einzige Problem, was ich derzeit noch habe sind ein paar Hieroglyphen. So sieht die Quelle aus:
Delphi-Quellcode:
Das kompilierte File hat dann aber noch ein paar Daten mehr in der VersionsInfo (mit ResourceHacker ausgelesen):
1 VERSIONINFO
FILEVERSION 4,3,5,407 PRODUCTVERSION 4,3,5,407 FILEOS 0x4 FILETYPE 0x1 { BLOCK "StringFileInfo" { BLOCK "040704E4" { VALUE "CompanyName", "Zebra Elektrotechnik" VALUE "FileVersion", "4.3.5" VALUE "InternalName", "LAP" VALUE "LegalCopyright", "Copyright Zebra" VALUE "LegalTrademarks", "" VALUE "OriginalFilename", "Laserschweissanlage.exe" VALUE "ProductName", "Laserarbeitsplatz" VALUE "ProductVersion", "4.3.5" VALUE "Comments", "" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x0407 0x04E4 } }
Delphi-Quellcode:
Komischerweise passiert dies nicht, wenn ich bei Company Name den letzten Bustaben wegmache.
1 VERSIONINFO
FILEVERSION 4,3,5,407 PRODUCTVERSION 4,3,5,407 FILEOS 0x4 FILETYPE 0x1 { BLOCK "StringFileInfo" { BLOCK "040704E4" { VALUE "CompanyName", "Zebra Elektrotechnik*FileVersion" VALUE "FileVersion", "4.3.5" VALUE "InternalName", "LAP" VALUE "LegalCopyright", "Copyright Zebra" VALUE "LegalTrademarks", "" VALUE "OriginalFilename", "Laserschweissanlage.exe" VALUE "ProductName", "Laserarbeitsplatz" VALUE "ProductVersion", "4.3.5" VALUE "Comments", "" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x0407 0x04E4 } } |
AW: Re: SVN Revision als Buildnummer nutzen in Delphi
Zitat:
Delphi-Quellcode:
Wie kann ich die FileVersion, die Delphi automatisch generiert, damit überschreiben?
1 VERSIONINFO
FILEVERSION 2014,1,1,847 PRODUCTVERSION 2014,1,0,0 FILEOS 0x4 FILETYPE 0x1 { BLOCK "StringFileInfo" { BLOCK "040904E4" { VALUE "CompanyName", "Test_UN" VALUE "FileDescription", "Test" VALUE "FileVersion", "2014.1.1.900" VALUE "InternalName", "pBMS_Core" VALUE "LegalCopyright", "xxx" VALUE "OriginalFilename", "ABC.exe" VALUE "ProductName", "Test" VALUE "ProductVersion", "2014.1" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x0409 0x04E4 } } Seit einer Stunde ohne Ergebnis... :gruebel: |
AW: SVN Revision als Buildnummer nutzen in Delphi
Was ich damals vergessen habe zu erwähnen:
Die Keywords und deren Versionsnummern/Revisionen beziehen sich immer nur auf die entsprechende Datei und nicht auf das "letzten Update" bzw. dessen Revisionsnummer des Checkouts. Für letzteres kann der CLI-Befehl "svnversion" genutzt werden. Damit erhält man die Revisionsnummer des Arbeitsverzeichnis. @Martin: Für die Datei das Keyword aktiveren. Das geht via SVN-Property. In der Datei dann an die entsprechende Stelle einfach das Keyword z.B. "$Revision$" einfügen. Beim Commit wird dieses dann automatisch ersetzt. ![]() Bitte den Abschnitt "Where's $GlobalRev$?" beachten!
Code:
usage: svnversion [OPTIONS] [WC_PATH [TRAIL_URL]]
Produce a compact 'version number' for the working copy path WC_PATH. TRAIL_URL is the trailing portion of the URL used to determine if WC_PATH itself is switched (detection of switches within WC_PATH does not rely on TRAIL_URL). The version number is written to standard output. For example: $ svnversion . /repos/svn/trunk 4168 The version number will be a single number if the working copy is single revision, unmodified, not switched and with an URL that matches the TRAIL_URL argument. If the working copy is unusual the version number will be more complex: 4123:4168 mixed revision working copy 4168M modified working copy 4123S switched working copy 4123P partial working copy, from a sparse checkout 4123:4168MS mixed revision, modified, switched working copy If WC_PATH is an unversioned path, the program will output 'Unversioned directory' or 'Unversioned file'. If WC_PATH is an added or copied or moved path, the program will output 'Uncommitted local addition, copy or move'. If invoked without arguments WC_PATH will be the current directory. Valid options: -n [--no-newline] : do not output the trailing newline -c [--committed] : last changed rather than current revisions -h [--help] : display this help --version : show program version information -q [--quiet] : no progress (only errors) to stderr |
AW: SVN Revision als Buildnummer nutzen in Delphi
Zitat:
Danke, Viele Grüße, Martin |
AW: SVN Revision als Buildnummer nutzen in Delphi
Delphi hat die Versionsnummer in der Projektdatei und erzeugt da draus die Resourcen und linkt diese.
Das muss unterbunden werden! Also aus dem Projekt die Option Versionsnummern entfernen. Ich denke hier war das Problem -> zwei Versionsresourcen in der Kompilierten Anwendung. Wenn du die RC über die IDE erzeugt hast, dann sollte in der DPR Datei eine Zeile wie folgt sein:
Delphi-Quellcode:
bzw. sollte auch in dem Projektexplorer austauchen.
{$R 'version.res' 'version.rc'}
|
AW: SVN Revision als Buildnummer nutzen in Delphi
Zitat:
|
AW: Re: SVN Revision als Buildnummer nutzen in Delphi
Danke, hat funktioniert!
Zitat:
Dank an Dich! Viele Grüße, Martin |
AW: SVN Revision als Buildnummer nutzen in Delphi
Nein, aber die Strings sollten durch ein Nullbyte abgeschlossen werden, besonders wenn Leerzeichen enthalten sind.
Code:
BLOCK "040704E4"
{ VALUE "CompanyName", "Zebra Elektrotechnik*FileVersion\000" VALUE "FileVersion", "4.3.5" VALUE "InternalName", "LAP" VALUE "LegalCopyright", "Copyright Zebra\000" VALUE "LegalTrademarks", "" VALUE "OriginalFilename", "Laserschweissanlage.exe\000" VALUE "ProductName", "Laserarbeitsplatz\000" VALUE "ProductVersion", "4.3.5" VALUE "Comments", "" } |
AW: SVN Revision als Buildnummer nutzen in Delphi
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 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