Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Version beim kompilieren in den Quellcode (https://www.delphipraxis.net/138337-version-beim-kompilieren-den-quellcode.html)

Martin W 7. Aug 2009 22:43


Version beim kompilieren in den Quellcode
 
Hallo,


eine kurze Frage zu der Projekt Version (x.x.x.x). Gibt es einen Platzhalter der im Code verwendet werden kann und der beim kompilieren in die Version umgesetzt wird? Beispiel:

Delphi-Quellcode:
// Vor dem kompilieren
const
  VersionBuild = {$ Build }

// In der kompilierten Datei
const
  VersionBuild = 1923
Die Methode zum nachträglichen auslesen kenne ich, gibt es aber die Möglichkeit das fest in den Code hineinzuschreiben?


Liebe Grüße

[edit=SirThornberry]compalieren durch kompilieren ersetzt damit man es über die Suchfunktion besser finden kann - Mfg, SirThornberry[/edit]

Luckie 7. Aug 2009 22:57

Re: Version beim kompilieren in den Quellcode
 
Guck dir mal die Möglichkeiten in den Projketoptionen an.

Martin W 7. Aug 2009 23:15

Re: Version beim kompilieren in den Quellcode
 
Angenommen ich hab in den Projektoptionen 4.31.1.1929 eingestellt. Wie kann ich diesen Wert automatisch in den Quellcode übernehmen lassen das dieser als Variable verwendet werden kann?

himitsu 7. Aug 2009 23:29

Re: Version beim kompilieren in den Quellcode
 
einen "Platzhalter" gibt es da nicht (diese Infos stehen ja "nur" in den Resourcen, welche beim Kompilieren einfach in die EXE reingelinkt werden),
aber du könntest z.B. via PostBuild-Script nachträglich einen Dummy-Wert in der EXE ersetzen
oder über die Open Tools API es kurz vorm Kompilieren deinen QuellCode bearbeiten.


aber in diesem Fall, ließ es einfach zur Laufzeit aus den Resourcen aus
oder gibt es einen Grund, warum du es ander lösen willst?

mleyen 8. Aug 2009 00:21

Re: Version beim kompilieren in den Quellcode
 
Ich hätte da evtl eine Idee:
Komponenten können ja 'Designtime-code' ausführen. Jetzt könnte man sich ne Komponente mit einer Versionsproperty basteln, die auf Änderung dieser Property jedesmal den Versionstring in den 2 Dateien ändert.

Müsste doch eigentlich funktionieren oder? :gruebel: :stupid:

hathor 8. Aug 2009 20:22

Re: Version beim kompilieren in den Quellcode
 
Ich verwende schon seit längerer Zeit als Versionsangabe ein Datumsformat in der Form YYYYMMDD.
Es wird beim Compilieren erzeugt:

Delphi-Quellcode:
var
    Compiled: TDateTime;
   version : String;
   year, month, day : string;
   d,m,y: word;

Begin
FileAge(ParamStr(0), Compiled);
Version:= DateTimeToStr( Compiled );
DecodeDate(Compiled, y, m, d);
year:=IntToStr(y); month:=IntToStr(m); day:=IntToStr(d);
if length(month)=1 then month:='0'+month; if length(day)=1 then day:='0'+day;
Version:= year+month+day;
.
.
.

hoika 8. Aug 2009 21:46

Re: Version beim kompilieren in den Quellcode
 
Hallo,

benutze statt der Variable eine Funktion,
die die Versions-Info zur Laufzeit lädt.
Wie das geht, sagt dir die Suchfunktion.


Heiko

RWarnecke 8. Aug 2009 22:18

Re: Version beim kompilieren in den Quellcode
 
Hallo Martin, schaue Dir mal diesen Link an. Damit könntest Du etwas anfangen.

Und dann solltest dur noch nach dem folgenden Begriff OpenTools API bei Google und hier im Forum suchen.

alzaimar 9. Aug 2009 06:52

Re: Version beim kompilieren in den Quellcode
 
Wieso nicht einfach so per GetFileVersionInfoSize?

Martin W 20. Aug 2009 13:40

Re: Version beim kompilieren in den Quellcode
 
Danke für all eure zahlreichen Antworten!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz