Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Build Nummer der Version (https://www.delphipraxis.net/210055-build-nummer-der-version.html)

creehawk 23. Feb 2022 08:51

Build Nummer der Version
 
Moin Moin.

Ich habe für mein Projekt n der IDE die Versionsnummer für automatische Übernahme eingestellt. Die Build Nr soll automatisch erhöht werden. Start ist mit der Versionsnummer aus den 4 Elementen : 1.0.0.0

Okay, das Programm complieren. In den Projektoptionen steht jetzt 1.0.0.1 Sehr hübsch.

Im Explorer auf die Datei geklickt, Eigenschaften>Details ergibt als Versionsnummer 1.0.0.0
Auf der Form des Programms wird die Versionsnummer mittels folgendem Code angezeigt: (Woher der Code jetzt ist weiß ich nicht mehr)
Delphi-Quellcode:
function GetAppVersionStr: string;
var
  Exe: string;
  Size, Handle: DWORD;
  Buffer: TBytes;
  FixedPtr: PVSFixedFileInfo;
begin
  Exe := ParamStr(0);
  Size := GetFileVersionInfoSize(PChar(Exe), Handle);
  if Size = 0 then RaiseLastOSError;
  SetLength(Buffer, Size);
  if not GetFileVersionInfo(PChar(Exe), Handle, Size, Buffer) then
    RaiseLastOSError;
  if not VerQueryValue(Buffer, '\', Pointer(FixedPtr), Size) then
    RaiseLastOSError;
  Result := Format('%d.%d.%d.%d',
    [LongRec(FixedPtr.dwFileVersionMS).Hi, //major
     LongRec(FixedPtr.dwFileVersionMS).Lo, //minor
     LongRec(FixedPtr.dwFileVersionLS).Hi, //release
     LongRec(FixedPtr.dwFileVersionLS).Lo]) //build
end;
Dort ergibt sich auch 1.0.0.0.

Nochmal erzeugen. Jetzt haben wir in der IDE Projektanzeige 1.0.0.2, ansonsten ausserhalb überall 1.0.0.1.

Hinkt also die Versionsnummer immer einen Nummer hinterher? Ich letztlich für Updates feststellen welche Nummer am Zielrechner steht.

creehawk

Uwe Raabe 23. Feb 2022 08:54

AW: Build Nummer der Version
 
Die Buildnummer wird erst nach dem Build erhöht. Damit is sichergestellt, dass alle folgenden Compilate eine höhere Nummer haben als das letzte Build.

creehawk 23. Feb 2022 09:08

AW: Build Nummer der Version
 
Okay, alles klar. Danke.

creehawk

Andreas13 23. Feb 2022 10:48

AW: Build Nummer der Version
 
Hallo Creehawk,

ich habe Deine obige Routine unter Beachtung von Uwe's Hinweis getestet, aber egal wie oft ich alle Units erzeuge ("Build"), erhalte ich immer 1.0.0.0.
Kann sein, daß die Routine noch fehlerhaft ist, oder habe ich etwas nicht ganz verstanden?
Gruß, Andreas

Andreas13 23. Feb 2022 10:58

AW: Build Nummer der Version
 
Sorry, es war mein Fehler: Meine Modulattribute waren "verschwunden"... :oops:

Aber eine neue Frage hätte ich in diesem Zusammenhang: Wie kann ich die Projektoptionen nachträglich so einstellen, daß diese für alle Projekte gelten. Momentan muß ich alles immer wieder per Hand justieren.
Danke & Grüße
Andreas

Uwe Raabe 23. Feb 2022 11:38

AW: Build Nummer der Version
 
Zitat:

Zitat von Andreas13 (Beitrag 1502608)
Wie kann ich die Projektoptionen nachträglich so einstellen, daß diese für alle Projekte gelten. Momentan muß ich alles immer wieder per Hand justieren.

Da hilft in der Regel Project Magician. Schau mal bei Clear Settings in Child Configurations.

peterbelow 23. Feb 2022 11:41

AW: Build Nummer der Version
 
Zitat:

Zitat von Andreas13 (Beitrag 1502608)
Sorry, es war mein Fehler: Meine Modulattribute waren "verschwunden"... :oops:

Aber eine neue Frage hätte ich in diesem Zusammenhang: Wie kann ich die Projektoptionen nachträglich so einstellen, daß diese für alle Projekte gelten. Momentan muß ich alles immer wieder per Hand justieren.
Danke & Grüße
Andreas

Das ist ein altes leidiges Problem mit der Verwaltung der Projektoptionen: wenn man einmal etwas in den Versionsinfos einer angeleiteten Konfiguration geändert hat werden spätere Änderungen in der Basiskonfiguration ignoriert. Man muß dann die dproj-Datei in einem anderen Editor öffnen und manuell alle Versionsinfos aus den abgeleiteten Konfigurationen löschen. sehr vorsichtig, damit das Resultat noch valides XML ist...

Suche in der Datei nach <VerInfo_Keys>.

Andreas13 23. Feb 2022 11:50

AW: Build Nummer der Version
 
Vielen Dank für Eure Tipps! :thumb: :angel:

Grüße, Andreas


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