Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Build Nummer nicht sofort in Exe (https://www.delphipraxis.net/205723-build-nummer-nicht-sofort-exe.html)

charly52 9. Okt 2020 11:29

Build Nummer nicht sofort in Exe
 
Hi all,

ich habe den Effekt, daß die aktuell in den Projekt Options angezeigte Build Nummer nicht sofort nach einem BUILD in der Exe auftaucht.
So wie es scheint braucht's anschließend einen "clear" und ein "compile" um die neue Buildnummer auch in der Exe zu haben.

Arbeite mit Win10, Delphi 10.2 prof. und habe "Auto increment build number" eingestellt.

Vieleicht hat ja jemand ne Idee.

Danke schon mal

Charly

scrat1979 9. Okt 2020 11:42

AW: Build Nummer nicht sofort in Exe
 
IMHO muss das Projekt nicht zur compiliert sondern ERZEUGT werden. Kann aber auch voll daneben liegen...

Uwe Raabe 9. Okt 2020 11:44

AW: Build Nummer nicht sofort in Exe
 
Ich denke, das Inkrement erfolgt (as designed) nach dem Build.

charly52 9. Okt 2020 12:26

AW: Build Nummer nicht sofort in Exe
 
Das ist also Absicht?
Aber wenn ich dann noch einen "Compile" hinterher schicke, wird zwar die Änderungszeit (im Explorer angezeigt) erneuert, und somit wohl auch nochmal was von der IDE übertragen, aber die Build Nummer bleibt die VOR dem letzten Build.
Ist doch irgendwie seltsam, oder?
Oder wird bei einem Compile NICHT die aktuelle (jetzt ja erhöhte) Build Nummer in die Exe gelinkt?

Danke

Charly

Uwe Raabe 9. Okt 2020 12:55

AW: Build Nummer nicht sofort in Exe
 
Eigentlich sollte da schon die erhöhte Build-Nummer verwendet werden. Allerdings muss man beachten, daß die Versionsinfo für jede Konfiguration und Plattform individuell vorliegen kann. Das führt häufig zu Verwirrung.

charly52 9. Okt 2020 13:52

AW: Build Nummer nicht sofort in Exe
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1475239)
Eigentlich sollte da schon die erhöhte Build-Nummer verwendet werden. Allerdings muss man beachten, daß die Versionsinfo für jede Konfiguration und Plattform individuell vorliegen kann. Das führt häufig zu Verwirrung.

Ich bin z.Zt. nur in einer Config (Debug) und Platform (Win32) unterwegs.

himitsu 9. Okt 2020 20:53

AW: Build Nummer nicht sofort in Exe
 
Bei diesen Ressourcen mußt du aufpassen.
Früher gab es mal nur Eine, aber inzwischen kannst auch für jede Build-Config das anpassen.
Aber einfacher ist es, wenn man nur eine/zwei VerInfo in der Win32/Win64-Basis hat.


Gibt es vielleich noch eine andere RES mit der Version? (siehe Compilierwarnungen wegen doppelter Ressource)
Oder eben in der DPROJ mehrere überlagende Angaben.



Eigentlich sollte die Nummer vor dem Build erhöht werden. (beim einfachen Compile nicht)
Stehen tut sie in der Project.RES (und nochmal in der DPROJ, aber die RES ist das, was letztendlich in die EXE gelinkt wird), wo man sie auch selber mit RessourcenEditoren bearbeiten kann.
Sowas könnte man auch im BeforeBuild-Event mit einem Consolen-Tool erledigen.

Man könnte auch selber über die OpenToolsAPI diese Information bearbeiten.

Bei uns hab ich allerdings selber eine Versionsresource als .RC erstellt, wo die Daten im FinalBuilder aus einer INI mit einem Text-Template gefüllt werden.
Anschließend wird dieses Template mehrmals zu RES kompiliert.
Drin sind quasi ein paar IFDEFs, um Resourcen für DLL, BPL, EXE und Service-EXE.
Das gleiche wird auch noch mit dem Windows-Manifest gemacht, also Service-EXE, EXE und EXE mit Adminrechten.

Der FinalBuilder hat zwar selbest eine Möglichkeit damit die VersionsRessource zu generieren, aber ich hatte keine Lust für dutzende Projekte überall einzeln die Ressourcen anzulegen, drum nur einmal zentral.
https://www.finalbuilder.com/forums/...missing/6858/3



Eine Cache, wie bei den Icons sollte es hier nicht geben. (wo das Neue schon in der EXE drin ist, aber bei DIR im Explorer noch was Altes angezeigt wird)

Dalai 9. Okt 2020 22:09

AW: Build Nummer nicht sofort in Exe
 
Zitat:

Zitat von charly52 (Beitrag 1475237)
Das ist also Absicht?

Da das Ding "Build Number" heißt und nicht "Compile Number", wird das wohl Absicht sein.

Grüße
Dalai


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