Versionsinfo unter Linux?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Kernel
Beiträge: 35
Registriert: Di 13. Okt 2009, 14:10

Versionsinfo unter Linux?

Beitrag von Kernel »

Hallo,

wie kann ich die Versionsinfos (Projekteinstellungen-> Versionsinformationen) unter Linux zur Laufzeit auslesen?
Ich hab irgentwo gelesen, dass diese unter Linux gar nicht mit einkompiliert werden sollen?
Ist dem so?

Gruß
Kernel

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Versionsinfo unter Linux?

Beitrag von Hitman »

Wenn du mit einer aktuellen FPC (und Lazarus) Version arbeitest, geht das:

http://lists.lazarus.freepascal.org/pip ... 54335.html" onclick="window.open(this.href);return false;

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Versionsinfo unter Linux?

Beitrag von corpsman »

ich habe

Free Pascal Compiler version 2.4.0-2 [2010/03/06] for i386
Copyright (c) 1993-2009 by Florian Klaempfl

und die aktuelle Lazarus Version aus dem SVN und bei mir geht :

Code: Alles auswählen

uses 
  vinfo,
  versiontypes;
 
procedure TForm1.Button1Click(Sender: TObject);
 
   function ProductVersionToString(PV: TFileProductVersion): String;
   begin
     Result := Format('%d.%d.%d.%d', [PV[0],PV[1],PV[2],PV[3]])
   end;
 
var
   Info: TVersionInfo;
begin
   Info := TVersionInfo.Create;
   Info.Load(HINSTANCE);
   ShowMessage(ProductVersionToString(Info.FixedInfo.FileVersion));
   ShowMessage(ProductVersionToString(Info.FixedInfo.ProductVersion));
   Info.Free;
end;
Leider nicht, auf meinem Gesamten System kann ich die Unit Vinfo nicht finden, und ohne kompiliert es nicht :
unit1.pas(42,22) Error: Identifier not found "TVersionInfo"
unit1.pas(42,22) Error: Error in type definition
unit1.pas(44,24) Error: Identifier not found "TVersionInfo"
unit1.pas(45,9) Error: Illegal qualifier
unit1.pas(46,44) Error: Illegal qualifier
unit1.pas(47,44) Error: Illegal qualifier
unit1.pas(48,9) Error: Illegal qualifier
unit1.pas(53) Fatal: There were 7 errors compiling module, stopping
--
Just try it

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Versionsinfo unter Linux?

Beitrag von Hitman »

Hast du die Unit vInfo, die da im Anhang von der Mail is, auch im Suchpfad?

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Versionsinfo unter Linux?

Beitrag von corpsman »

*g*

dass die Mail einen Anhang hat, denn man runter laden kann hatte ich nicht bemerkt.

Klicke ich nun aber auf den Button1, so bekomme ich eine AV in VInfo.pas Zeile 64

Code: Alles auswählen

Stream := TResourceStream.CreateFromID(Instance, 1, PChar(RT_VERSION));
Laut Debugger ist der Wert von Instance = 0 falls das jemanden was hilft...
Dateianhänge
prog.zip
(3.05 KiB) 100-mal heruntergeladen
--
Just try it

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Versionsinfo unter Linux?

Beitrag von Hitman »

In den Projekteinstellungen hast du ja auch gar nicht angeschaltet, dass er die Versionsinfo einfügen soll - da gibts dann natürlich auch nix anzuzeigen :D

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Versionsinfo unter Linux?

Beitrag von corpsman »

lol, wie recht du doch hast.

Thx
--
Just try it

Antworten