![]() |
Versionsnummern in der .RES Datei ändern
Ich muss für einige Programme die Versionsnummern immer von Hand ändern.
In einem automatische Prozess weden dann alle EXE Dateien erzeugt. Die Versionummern die man in den Projektoptionen einstellen kann sind wohl in den .res Dateien gespeichert. Kennt jemand einen Weg diese in der .res zu ändern. Ich hab schon ne Weile versucht herauszu bekommen wie man das mit BeginUpdateResource etc. macht. Scheiter jedoch schon beim Aufruf der Funktion if FileExists(fn) then begin h := BeginUpdateResource(PChar(fn), False); bei h kommt immer 0 zurück Delphi2007 fn ist als string deklariert. |
AW: Versionsnummern in der .RES Datei ändern
Kannst du nicht besser die DPROJ bearbeiten (dort steht die Version auch drin)
und die Datei mit msbuild generieren lassen? Ich glaube ich habe nur das Icon damals einmalig mit einem Ressourcen-Editor in eine Res-Datei geschrieben. Ich hoffe die Info hilft dir schon weiter. Hier gibt es sicher auch Einträge, wie man mit msbuild Delphi-Projekte erzeugen lassen kann. Spontan kriege ich das jetzt nicht mehr zusammen. Mit freundlichem Gruß Incocnito |
AW: Versionsnummern in der .RES Datei ändern
Hat den D2007 schon dproj-Dateien?
Ist ja schon ziemlich alt |
AW: Versionsnummern in der .RES Datei ändern
Ja, aber ich weiß nicht, ob die schon MSBuild-geeignet sind. Zu D2007-Zeiten haben wir unsere Versionsnummern immer per FinalBuilder in die EXE gepackt.
|
AW: Versionsnummern in der .RES Datei ändern
Und wie wäre es damit?
![]() Dann reicht ein banaler Texteditor zur Änderung. |
AW: Versionsnummern in der .RES Datei ändern
Ja das mit der dproj hatte ich als erstes probiert, nur leider kommt das nicht in der
exe an. Deshalb habe ich dann weiter gesucht und mit einem Resourceeditor gesehen das das in der .res steht. Wenn man das dann mit dem Resourceditor ändert sieht man es anschließend in den Projektoptionen in Delphi. Das wäre mir die liebste Variante aber scheint wohl nicht ganz trivial zu sein. Das mit der eigenen Resourcendatei wäre ein Möglichkeit. Auf der Emba Seite habe ich auch ein Beispiel gefunden wo das nur in der dproj geändert wird. Ich muss mal ausprobieren ob das bei XE klappt. |
AW: Versionsnummern in der .RES Datei ändern
Wie es in der SO Antwort steht, funktioniert auf jeden Fall, mach ich bei meinen Plugins so.
Dazu einfach wie dort auch erwähnt
Delphi-Quellcode:
in die dpr schreiben.
{$R 'version.res' 'version.rc'}
|
AW: Versionsnummern in der .RES Datei ändern
kannst auch mal im forum suchen ... irgendwo hatte ich es mehrfach in threads genannt.
im Prinzip erstellt der FinalBuilder (geht aber auch jede ScriptSprace) aus einer Vorlage eine .RC wo die Versionsressource eingebaut/ersetzt wird. (die Versionsressource in den Delphi-Projektoptionen ist deaktiviert, aber die Warnung der Compiler-Hinweis bezüglich doppelter Ressource warnt einen schon, falls doch mal doppelt) dann wird brcc32.exe oder RC.exe (aus'm windows framework) benutzt, um daraus die .RES zu generieren, welche dann über {$R ...} oder {$RESOURCE ...} in die DPR/DPK eingebunden wird. Man kann von Delphi eine .RC auch automatisch in eine .RES kompilieren lassen, aber {$R} mit zwei Parametern funktioniert nur in der DPR (vielleicht auch noch in der DPK) und wenn es doch nicht ging, dann gibt der Compiler/Linker oftmals keine Warnung aus, drum kompiliere ich das lieber selber und werte den ExitCode der RessourcenCompilers aus. direkt die Versions-Ressource des Compilates nachträglich zu bearbeiten, ist oft meistens garnicht nötig und es gibt da wesentlich flexiblere und bessere Möglichkeiten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 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