Versions / Build Informationen auslesen

Rund um die LCL und andere Komponenten
piper62
Beiträge: 131
Registriert: Sa 5. Apr 2008, 17:57
OS, Lazarus, FPC: Linux (Debian, Xubuntu), MacOS X, MS Win, Android, Web
CPU-Target: 32Bit/64Bit
Wohnort: Ulm

Versions / Build Informationen auslesen

Beitrag von piper62 »

Hallo,

unter den Projekteinstellungen kann man ja so schön die Versioninformationen zu einem Projekt inklusive der automatischen Inkrementierung der Buildnummer einstellen.

Das möchte ich nun wiederum auslesen um es in einem Infofenster den Nutzern anzeigen zu können.

Nun habe ich schon in der Dokumentation und auch in den Sources, z.Bsp. der Lazarus IDE gesucht aber leider machen die das etwas trickreich indem nur eine kleine Textdatei "version.inc" inkludiert wird.
Das wollte ich ja gerade vermeiden.

Hat damit schon Jemand gearbeitet oder weiss wie ich an diese Versionsinformationen komme?

Plattform wäre Linux, FPC 2.2.2 und Lazarus 0.9.26.1

Gruss,
Piper

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Re: Versions / Build Informationen auslesen

Beitrag von EugenE »

Vor dem du dein Programm kompilierst, startest du dieses Programm (anhang^^)

rc2inc -i project1.rc -o version.inc

dann wird so eine Datei erstellt:

Code: Alles auswählen

consts
   MajorVersion=0;
   MinorVersion=0;
   SubVersion=0;
   Build=6;
 
diese dann einfach nurnoch includieren:

Code: Alles auswählen

{$I version.irc}
und schon haste immer die aktuellsten Versionsnummern

nutze dies auch

Quellcode ist vorhanden damit man es auch auf Linux zum laufen bringt^^

MfG
Dateianhänge
RcVersionToInc.zip
(572.11 KiB) 107-mal heruntergeladen

piper62
Beiträge: 131
Registriert: Sa 5. Apr 2008, 17:57
OS, Lazarus, FPC: Linux (Debian, Xubuntu), MacOS X, MS Win, Android, Web
CPU-Target: 32Bit/64Bit
Wohnort: Ulm

Re: Versions / Build Informationen auslesen

Beitrag von piper62 »

Das Programm r2inc liegt aber nur als .EXE vor. Hast Du da noch den Source oder eine Linux Version?

Gruss,

Piper

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Re: Versions / Build Informationen auslesen

Beitrag von EugenE »

die source ist doch im archiv? o.o?

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Versions / Build Informationen auslesen

Beitrag von Christian »

Sicher, das das unter Linux funktioniert ? Dort kann meines Wissens keine windows resource (rc) angehängt werden. Und lrs werden dafür nicht erstellt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

piper62
Beiträge: 131
Registriert: Sa 5. Apr 2008, 17:57
OS, Lazarus, FPC: Linux (Debian, Xubuntu), MacOS X, MS Win, Android, Web
CPU-Target: 32Bit/64Bit
Wohnort: Ulm

Re: Versions / Build Informationen auslesen

Beitrag von piper62 »

also unter Linux scheint es momentan keine Möglichkeit zu geben das zu integrieren ausser man macht es selbst.

Falls jemand dazu eine Lösung weiss bin ich für jeden Hinweis dankbar.

Gruss,
Piper

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Re: Versions / Build Informationen auslesen

Beitrag von EugenE »

Werden die RCs nicht unter Linux erstellt? weil in den project-dateien steht dann ja IFDEF Windows then nimmt er diese rc rein aber er muss die rc ja nicht mitcompelieren nur erstellen

piper62
Beiträge: 131
Registriert: Sa 5. Apr 2008, 17:57
OS, Lazarus, FPC: Linux (Debian, Xubuntu), MacOS X, MS Win, Android, Web
CPU-Target: 32Bit/64Bit
Wohnort: Ulm

Re: Versions / Build Informationen auslesen

Beitrag von piper62 »

Nein, die rc's werden wohl nicht erstellt. Ich habe in der IDE unter den Projekteinstellungen die Versionierung angeschaltet aber bekomme keinen Effekt.
Ist wohl unter Linux nicht aktiv...
Vielleicht mache ich aber auch noch Etwas falsch, will ich nicht ausschliessen.

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Re: Versions / Build Informationen auslesen

Beitrag von EugenE »

wäre toll wenn die IDE automatisch ne version.inc erstellen würde

baba
Beiträge: 265
Registriert: Mi 4. Apr 2007, 17:47

Re: Versions / Build Informationen auslesen

Beitrag von baba »

Moin, moin,

bislang nutze ich die Versionsinformation zu einem Prjekt nicht. denke mit also, probier es doch mal aus.

Schalte ich die Versionsinformation ein, includiert Lazarus mir folgende Zeile:

Code: Alles auswählen

{$IFDEF WINDOWS}{$R prg_mobile.rc}{$ENDIF}
Die Datei 'prg_mobile.rc' gibt es aber nicht, also kommt ein Error - no resources.

Code: Alles auswählen

{$IFDEF WINDOWS}
Heißt das, es läuft auf einem WinMobile sowieso nicht?

Mach ich einen Denkfehler?
Es müßte doch nur eine Art Preprocessor über die ANWENDUNG.LPR laufen und Konstanten im Source incrementieren. Wieso gibt es dann Unterschiede zwischen den Plattformen? (Win/Mob/Linux/Mac)

Wird nicht eh eine zu compilierende Arbeitsdatei erstellt, in der nur Codeteile stehen, die nicht durch eine '{$IFDEF' Anweisung ausgeschlossen sind? Kommentare kommen auch gleich mit weg! Dies würde doch bedeuten, dass ein Preprocessor vor der Compilierung aktiv ist.

Gruß
Baba.

piper62
Beiträge: 131
Registriert: Sa 5. Apr 2008, 17:57
OS, Lazarus, FPC: Linux (Debian, Xubuntu), MacOS X, MS Win, Android, Web
CPU-Target: 32Bit/64Bit
Wohnort: Ulm

Re: Versions / Build Informationen auslesen

Beitrag von piper62 »

Habe jetzt mal manuell eine Zeile:

Code: Alles auswählen

{$R project1.rc}
eingefügt.

Daraufhin bekomme ich den Fehler:

Code: Alles auswählen

unit1.pas(48,1) Error: resource compiler not found, switching to external mode
Scheint unter Linux nicht zu funktionieren...

Schade!

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Re: Versions / Build Informationen auslesen

Beitrag von EugenE »

du musst das doch nicht in den quellcode einfuegen : {$R project1.rc}

wird diese datei erstellt?

piper62
Beiträge: 131
Registriert: Sa 5. Apr 2008, 17:57
OS, Lazarus, FPC: Linux (Debian, Xubuntu), MacOS X, MS Win, Android, Web
CPU-Target: 32Bit/64Bit
Wohnort: Ulm

Re: Versions / Build Informationen auslesen

Beitrag von piper62 »

nein, es wird keine Datei erstellt.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Versions / Build Informationen auslesen

Beitrag von Christian »

resourcen sind windows spezifisch
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Jagged
Beiträge: 20
Registriert: So 21. Okt 2007, 11:05

Re: Versions / Build Informationen auslesen

Beitrag von Jagged »

Die Lösung von EugenE funktioniert perfekt. Auch unter Linux. Bei mir erstellt Lazarus auch unter Linux die Project.rc. Vielleicht weil ich Sie über {$IFDEF Windows} einbinde.

Antworten