Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Build count - Wie oft habe ich kompiliert? (https://www.delphipraxis.net/142192-build-count-wie-oft-habe-ich-kompiliert.html)

MisterNiceGuy 23. Okt 2009 13:59


Build count - Wie oft habe ich kompiliert?
 
Hi, gibt's ne interne Variable die mir sagt wie oft ich das Projekt schon kompiliert habe?
Ich würd das gern als Anzeige in mein Projekt einbauen!

himitsu 23. Okt 2009 14:05

Re: Build count - Wie oft habe ich kompiliert?
 
"Compiliert" nicht, aber "Erzeugt"

einfach in den Projektoptionen > Versionsinfo bei "Buildnummer automatisch erhöhen" das Kreuz machen,

dann wird jedesmal der letzte Wert "Compilierenung" (ich weiß, falscher Name) erhöht.



Ansonsten kannst du dir z.B. auch mit 'nem Post-Build-Script behelfen.
OK, das geht bei D7 noch nicht

MisterNiceGuy 23. Okt 2009 14:08

Re: Build count - Wie oft habe ich kompiliert?
 
Jo, aaaber wie binde ich dann den Counter in meine Anwendung ein? Ich würd den ja gern im fertigen Programm anzeigen!

himitsu 23. Okt 2009 14:11

Re: Build count - Wie oft habe ich kompiliert?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von MisterNiceGuy
Jo, aaaber wie binde ich dann den Counter in meine Anwendung ein? Ich würd den ja gern im fertigen Programm anzeigen!

indem du die Versionsinfo ausließt?

das Wie sollte auch irgendwo im Forum zu finden :zwinker:

Delphi-Quellcode:
Function GetFileVersion: String;
  Var i, W: LongWord;
    P: Pointer;
    FI: PVSFixedFileInfo;

  Begin
    Result := 'NoVersionInfo';
    i := GetFileVersionInfoSize(PChar(ParamStr(0)), W);
    If i = 0 Then Exit;
    GetMem(P, i);
    Try
      If not GetFileVersionInfo(PChar(ParamStr(0)), W, i, P)
        or not VerQueryValue(P, '\', Pointer(FI), W) Then Exit;
      Result := Format('v%d.%d.%d.%d', [FI^.dwFileVersionMS shr 16, FI^.dwFileVersionMS and $FFFF,
        FI^.dwFileVersionLS shr 16, FI^.dwFileVersionLS and $FFFF]);
      If FI^.dwFileFlags and VS_FF_DEBUG       <> 0 Then Result := Result + ' debug';
      If FI^.dwFileFlags and VS_FF_PRERELEASE  <> 0 Then Result := Result + ' beta';
      If FI^.dwFileFlags and VS_FF_PRIVATEBUILD <> 0 Then Result := Result + ' private';
      If FI^.dwFileFlags and VS_FF_SPECIALBUILD <> 0 Then Result := Result + ' special';
    Finally
      FreeMem(P);
    End;
  End;
[add]
Da ich selber nur Hauptversion.Nebenversion.Zähler nutze, trenne ich meistens nicht zwischen Ausgabe und Compilierung und fasse diese daher zusammen
Delphi-Quellcode:
Result := Format('v%d.%d.%d', [FI^.dwFileVersionMS shr 16,
  FI^.dwFileVersionMS and $FFFF, FI^.dwFileVersionLS]);
Das Ganze liefert dann die roten Teile der Versionsinfos
als "vH.N.A.C Flags" oder "vH.N.X Flags" .

MisterNiceGuy 23. Okt 2009 14:25

Re: Build count - Wie oft habe ich kompiliert?
 
Vielen Dank für die detaillierte Erklärung :) Aber wenn ich mein Projekt builde werden die Counter nicht automatisch hochgezählt! Muss ich da noch irgendwas beachten? Ich hab die Häkchen an den Kästchen alle mal testweise gesetzt, tut sich aber nix.

Edit: Ah doch, jetzt gehts! Häkchen beim Autoincrement vergessen...

taaktaak 23. Okt 2009 14:27

Re: Build count - Wie oft habe ich kompiliert?
 
Zitat:

OK, das geht bei D7 noch nicht
Ähh, vielleicht nicht bei D7 Personal, bei "Professional" schon.
.. war ja wohl der PostBuild gemeint :oops:

himitsu 23. Okt 2009 14:32

Re: Build count - Wie oft habe ich kompiliert?
 
Beachten mußt du schon einwas ... man darf nicht vergessen "erzeugen" zu nutzen, wenn man hochzählen will (aber falls man es mal vergißt, dann läßt es sich ja notfalls noch manuell etwas nachregeln :roll: )

@taaktaak: wurden die Pre- und Post-Compile-Scripte nicht erst in D2006 oder D2007 eingeführt?

MisterNiceGuy 23. Okt 2009 14:34

Re: Build count - Wie oft habe ich kompiliert?
 
Doch es geht in der Personal Edition ABER das nervt ja tierisch, dass man immer Builden muss und F9 nicht reicht um automatisch zu incrementieren!

himitsu 23. Okt 2009 14:41

Re: Build count - Wie oft habe ich kompiliert?
 
Zitat:

Zitat von MisterNiceGuy
ABER das nervt ja tierisch, ...

ich weiß :nerd:

das ist wohl soein Schutz, damit die Versionsnummer nicht gleich in Tausenderschritten steigen ... wenn ich bedenke, wie oft ich jedesmal zum Debuggen kompiliere, bis dann irgendwann mal wieder 'ne Vesion veröffentlich wird :oops:

taaktaak 23. Okt 2009 14:49

Re: Build count - Wie oft habe ich kompiliert?
 
@himitsu:
Hatte den Beitrag zu oberflächlich gelesen, daher meine unsinnige Antwort. Das mit den Pre- und Post-Compile-Scripten kenne ich (noch) gar nicht. Habe mir aber zum Geburtstag von Sohnemann Delphi 2010 gewünscht. Hohoh, das wird ja ein "Kulturschock" werden :roteyes:


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