AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Build Nummer der Version

Ein Thema von creehawk · begonnen am 23. Feb 2022 · letzter Beitrag vom 23. Feb 2022
Antwort Antwort
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#1

Build Nummer der Version

  Alt 23. Feb 2022, 09:51
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
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Build Nummer der Version

  Alt 23. Feb 2022, 09:54
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Build Nummer der Version

  Alt 23. Feb 2022, 10:08
Okay, alles klar. Danke.

creehawk
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Build Nummer der Version

  Alt 23. Feb 2022, 11:48
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
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#5

AW: Build Nummer der Version

  Alt 23. Feb 2022, 11:58
Sorry, es war mein Fehler: Meine Modulattribute waren "verschwunden"...

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
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)

Geändert von Andreas13 (23. Feb 2022 um 12:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Build Nummer der Version

  Alt 23. Feb 2022, 12:38
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
701 Beiträge
 
Delphi 12 Athens
 
#7

AW: Build Nummer der Version

  Alt 23. Feb 2022, 12:41
Sorry, es war mein Fehler: Meine Modulattribute waren "verschwunden"...

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>.
Peter Below
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#8

AW: Build Nummer der Version

  Alt 23. Feb 2022, 12:50
Vielen Dank für Eure Tipps!

Grüße, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  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 18:10 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