Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Versionsinformation des Projektes automatisch hochzählen? (https://www.delphipraxis.net/100453-versionsinformation-des-projektes-automatisch-hochzaehlen.html)

texmurphy901 28. Sep 2007 14:07


Versionsinformation des Projektes automatisch hochzählen?
 
Hallo Allerseits,
ich benutze Delphi2006 und habe da eine Frage:
Ich kann doch unter den Projektoptionen die Versionsinformationen einschalten und habe 4 Felder für die Versionsnummern.
Hauptversion, Nebenversion, Ausgabe, Build.

Gibt es eine Möglichkeit oder einen Schalter, dass die Zahl im "BUILD" - Feld automatisch bei jedem Kompilieren aus der IDE heraus um eins erhöht wird?

Gruß
Murphy

s-off 28. Sep 2007 14:09

Re: Versionsinformation des Projektes automatisch hochzählen
 
Ja; der heißt 'Build-Nummer automatisch erhöhen' und befindet sich direkt unter den Edits zu den Versionsnummern.
Allerdings erfolgt das Hochzählen nur beim 'erzeugen', nicht beim einfachen Kompilieren!

Luckie 28. Sep 2007 14:10

Re: Versionsinformation des Projektes automatisch hochzählen
 
Also bei D war da noch ein entsprechender Haken, den man setzen konnte. Allerdings wird die Buildnumme rnur bei einem Build hochgezählt und nicht beim Kompilieren.

s-off 28. Sep 2007 14:16

Re: Versionsinformation des Projektes automatisch hochzählen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Sag ich doch :-D

Habe mal einen Screenshot aus BDS2006 angefügt.

guidok 28. Sep 2007 14:40

Re: Versionsinformation des Projektes automatisch hochzählen
 
Kann man aus der Anwendung dann auf diese Versionsinformationen zugreifen, um sie z.B. in einem Dialog anzuzeigen?

s-off 28. Sep 2007 14:43

Re: Versionsinformation des Projektes automatisch hochzählen
 
Zitat:

Zitat von guidok
Kann man aus der Anwendung dann auf diese Versionsinformationen zugreifen, um sie z.B. in einem Dialog anzuzeigen?

Direkt nicht, nein.
Aber Du kannst Dein Anwendung so programmieren, dass Sie beim Start die Versionsinformationen aus der Exe liest. Dann hast Du projektweit Zugriff darauf und kannst sie in AboutDialogen etc. anzeigen.

Beispielcodes zum Auslesen der Versionsinformationen aus einer Exe findest Du hier im Forum.

Edit
Du könntest ja mal etwas ausprobieren:
Du erstellst einen Experten, der beim Kompilieren die Versionsinformationen aus der (bei BDS2006) *.bdsproj liest, und in eine Inc-Datei schreibt.
Diese wird eingebunden und aus dieser werden dann beim Kompilieren Konstanten mit den Versionsinformationen gefüllt.

Hört sich crazy an, müsste so aber funktionieren.

guidok 28. Sep 2007 14:48

Re: Versionsinformation des Projektes automatisch hochzählen
 
Ok, danke.

Progman 28. Sep 2007 15:01

Re: Versionsinformation des Projektes automatisch hochzählen
 
zur Unterstützung:
Delphi-Quellcode:
function GetCurrentVersion: String;
var
  VerInfoSize: DWORD;
  VerInfo: Pointer;
  VerValueSize: DWORD;
  VerValue: PVSFixedFileInfo;
  Dummy: DWORD;
begin
  VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
  GetMem(VerInfo, VerInfoSize);
  GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
  VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
  with VerValue^ do
  begin
    Result := 'Version '+IntToStr(dwFileVersionMS shr 16);
    Result := Result + '.' + IntToStr(dwFileVersionMS and $FFFF);
    Result := Result + '.' + IntToStr(dwFileVersionLS shr 16);
    Result := Result + ', Build '+IntToStr(dwFileVersionLS and $FFFF);
  end;
  FreeMem(VerInfo, VerInfoSize);
end;

//Aufrufbeispiel:
Label1.Caption:=GetCurrentVersion;
Gruß ;)

s-off 28. Sep 2007 15:02

Re: Versionsinformation des Projektes automatisch hochzählen
 
Ich glaube, das was ich in meinem Edit geschrieben habe, hat er gar nicht mehr gelesen, da es sich zeitlich überschnitten hat; aber vielleicht dann jetzt :mrgreen:

Würde mich persönlich nämlich auch freuen soetwas :zwinker:

guidok 28. Sep 2007 15:08

Re: Versionsinformation des Projektes automatisch hochzählen
 
Hab ich schon gelesen, kann allerdings nicht soviel damit anfangen, insofern ich keine Ahnung habe, was du mit "Experten erstellen" meinst. Den Rest konnte ich wieder nachvollziehen. Ich hab aber eine ähnliche Lösung wie von Progman hier im Forum gefunden und auch gerade ausprobiert. Gefällt mir gut und ist für meine Anwendung ausreichend.

Danke @all


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr.
Seite 1 von 2  1 2      

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