Variable, um die Build-NR automatisch hochzählen zu lassen

Für allgemeine Fragen zur Programmierung mit PureBasic.
gonimaus
Beiträge: 27
Registriert: 26.09.2004 14:21
Wohnort: Günzburg

Variable, um die Build-NR automatisch hochzählen zu lassen

Beitrag von gonimaus »

Hallo,
gibt es eine Möglichkeit, die Version der Exe automatisch beim Compilieren hochzählen zu lassen?
z.B. von Version 1.0.0.1 auf 1.0.0.2

Gruß Gonimaus
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Variable, um die Build-NR automatisch hochzählen zu lass

Beitrag von Kiffi »

> gibt es eine Möglichkeit, die Version der Exe automatisch beim Compilieren
> hochzählen zu lassen?
GPI hat geschrieben:bei jaPBe gibts die Konstante #jaPBe_Build
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag von nicolaus »

äh war das nich #jaPBe_ExecuteBuild?
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> äh war das nich #jaPBe_ExecuteBuild?

ja, stimmt. Du hast Recht.

Danke für den Hinweis & Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

In den Versionseinstellungen kann man [%build% einstetzen.
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
gonimaus
Beiträge: 27
Registriert: 26.09.2004 14:21
Wohnort: Günzburg

Beitrag von gonimaus »

Ich wollte den Original Pure-Editor verwenden, da er mir mittlerweile recht gut gefällt.
Mit %build% funktioniert es nicht. Habe schon die verschiedensten Variationen versucht. Im Moment nehme ich die Datums- und Zeit-Variablen, damit ich wenigstens einen Unterschied zwischen den Versionen habe.

Vielleicht hat noch jemand eine Idee?!

Viele Grüße Gonimaus
Benutzeravatar
helpy
Beiträge: 636
Registriert: 29.08.2004 13:29

Beitrag von helpy »

Schreib Dir z.B. ein "External Tool", das mit "Before create Executable" gestartet wird. Verwende als Argument %FILE (die aktuelle Quelldatei).

Wenn in den Preferences eingestellt ist, dass die Settings am ende der Quelldatei gespeichert werden, kann dieses Tool folgende Zeilen im Quellcode ändern:

Code: Alles auswählen

; VersionField0 = 1,0,0,0
; VersionField1 = 1,0,0,0
VersionField0 entspricht dem Feld "File Version"
VersionField1 entspricht dem Feld "Product Version"

Das Toll sollte noch überprüfen, ob in der aktuellen Datei eine Hauptdatei (;UseMainFile = <filename>) angegeben ist. Wenn ja, dann muss in dieser die Versionsnummer geändert werden.

Das Tool liest dann den Wert von "; VersionField0 = <version>" ein, ändert die BuildNr und speichert die Datei wieder!

Nicht vergessen im Config-Dialog des Tools noch die Option "Reload source after tool has quit ==> into current source" zu aktivieren.

Das scheint gut zu funktionieren, wenn die Hauptdatei in der IDE die aktuelle sichtbare Datei ist! Die Versionsnummer wird geändert ... und man sieht das auch gleich in der Version der EXE-Datei.


Was passiert, wenn die aktuelle Quelldatei jedoch nicht die Hauptdatei ist und parallel die Hauptdatei offen ist, konnte ich nicht testen!
Da scheint ein Fehler in der IDE drin zu sein. Ich habe das wie folgte ausprobiert:
  • Hauptdatei test.pb mit Versions-Info
    (Datei enthält nur ein XIncludeFile und einen MessageRequester-Aufruf.)
  • Include test_constants.pbi mit Einstellung, dass test.pb die Hauptdatei ist
    (Datei enthält nur eine Konstante)
  • Beide Dateien gespeichert
  • In der IDE beide Dateien geöffnet
  • In der IDE wird die test_constants.pbi als die aktuelle Datei angezeigt
  • EXE erzeugen ... Und da habe ich bemerkt, dass die beiden temporären Dateien %TEMPFILE und %COMPILEFILE denselben Inhalt haben. ABER der Inhalt ist identisch mit der test_constants.pbi!
  • Die erzeugte EXE-Datei besteht also nur aus der compilierten test_constants.pbi! Es wird keine MessageBox angezeigt WARUM? Kann das jemand nachvollziehen.
cu, helpy
Antworten