AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Versionsnummern in der .RES Datei ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Versionsnummern in der .RES Datei ändern

Ein Thema von mlc42 · begonnen am 23. Apr 2021 · letzter Beitrag vom 26. Apr 2021
Antwort Antwort
mlc42

Registriert seit: 9. Feb 2013
130 Beiträge
 
#1

Versionsnummern in der .RES Datei ändern

  Alt 23. Apr 2021, 15:49
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.
  Mit Zitat antworten Zitat
Incocnito

Registriert seit: 28. Nov 2016
223 Beiträge
 
#2

AW: Versionsnummern in der .RES Datei ändern

  Alt 23. Apr 2021, 16:07
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
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Versionsnummern in der .RES Datei ändern

  Alt 23. Apr 2021, 17:18
Hat den D2007 schon dproj-Dateien?
Ist ja schon ziemlich alt
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Versionsnummern in der .RES Datei ändern

  Alt 23. Apr 2021, 17:32
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#5

AW: Versionsnummern in der .RES Datei ändern

  Alt 23. Apr 2021, 17:38
Und wie wäre es damit?

https://stackoverflow.com/questions/...om-commandline

Dann reicht ein banaler Texteditor zur Änderung.
  Mit Zitat antworten Zitat
mlc42

Registriert seit: 9. Feb 2013
130 Beiträge
 
#6

AW: Versionsnummern in der .RES Datei ändern

  Alt 23. Apr 2021, 20:18
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.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie
Online

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Versionsnummern in der .RES Datei ändern

  Alt 23. Apr 2021, 22:49
Wie es in der SO Antwort steht, funktioniert auf jeden Fall, mach ich bei meinen Plugins so.
Dazu einfach wie dort auch erwähnt {$R 'version.res' 'version.rc'} in die dpr schreiben.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: Versionsnummern in der .RES Datei ändern

  Alt 26. Apr 2021, 16:37
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.
$2B or not $2B

Geändert von himitsu (26. Apr 2021 um 16:42 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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