AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mit version und Buildnummer arbeiten

Ein Thema von DelTurbo · begonnen am 7. Feb 2010 · letzter Beitrag vom 22. Nov 2013
Antwort Antwort
Seite 1 von 3  1 23      
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#1

Mit version und Buildnummer arbeiten

  Alt 7. Feb 2010, 14:53
Hi,

ich habe möchte gerne innerhalb des programms die daten der Versionskontrolle auslesen. Und zwar wollte ich das so ausgeben.

Version 1.1.0 {build 4444} wobei 4444 die compilierungsnummer ist. Die zählt er ja beim erstellen selber hoch. Nun zur frage, kann ich das innerhalb des programms abrufen ob muss man wirklich den umweg über die .exe nehmen?? Alles was ich gefunden habe (bestimmt wieder falsch gesucht) geht diesen umweg.

Danke im voraus
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#2

Re: Mit version und Buildnummer arbeiten

  Alt 7. Feb 2010, 15:00
Meinst du sowas?

Damit kannst du dir die Versionsinformationen aus der Datei holen, die du mit fileName übergibst.

Delphi-Quellcode:
type tFileVersionRec = record Fixed : TVSFixedFileInfo;
                              hauptversion,
                              nebenversion,
                              Ausgabe ,
                              Compilierung:word;
                              BetaVersion : boolean;
                       end;

function GetVersionInfo (filename : shortstring;var fw : tFileVersionRec ) : boolean;
var dw,size,len : longword;
    p : par64;
    s : string[10];
    p2 : pointer;
    ok : boolean;
begin result:=false;
      filename:=filename+#0;
      dw:=1;
      size:=GetFileVersionInfoSize(@filename[1],dw);
      if (size=0) or (dw<>0) then exit;
      getmem(p,size);
      ok:=GetFileVersionInfo(@filename[1],dw,size,p);
      if ok then
        begin s:='\'+#0;
              ok:=VerQueryValue(p,@s[1],p2,len);
              move(p2^,fw.fixed,maximum(len,sizeof(fw.fixed)));
              fw.hauptversion:=hiword(fw.fixed.dwFileVersionMS);
              fw.nebenversion:=loword(fw.fixed.dwFileVersionMS);
              fw.Ausgabe :=hiword(fw.fixed.dwFileVersionLS);
              fw.Compilierung:=loword(fw.fixed.dwFileVersionLS);
              fw.betaversion :=(fw.fixed.dwfileflags and $2)>0;
        end;
      freemem(p);
      result:=ok;
end;
Lars
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#3

Re: Mit version und Buildnummer arbeiten

  Alt 7. Feb 2010, 15:02
http://www.delphipraxis.net/internal...093232#1093232
und
http://www.delphipraxis.net/internal...t.php?p=659907
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#4

Re: Mit version und Buildnummer arbeiten

  Alt 7. Feb 2010, 15:06
Ja sowas in der art. Aber halt OHNE diesen "umweg" über das exe-file. Ich will ja kein anderes prg abfragen sondern nur den kram von meinem prg wissen. Ich dachte das kann man "intern" ermitteln.
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#5

Re: Mit version und Buildnummer arbeiten

  Alt 7. Feb 2010, 15:08
Wenn du das von deinem programm abfragen willst, nehm doch
Delphi-Quellcode:
var fw : tFileVersionRec;
begin
  GetFileVersion(Application.Exename,fw);
end;
Lars
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Mit version und Buildnummer arbeiten

  Alt 7. Feb 2010, 15:15
Zitat von DelTurbo:
Ja sowas in der art. Aber halt OHNE diesen "umweg" über das exe-file. Ich will ja kein anderes prg abfragen sondern nur den kram von meinem prg wissen. Ich dachte das kann man "intern" ermitteln.
Wenn nicht aus der Programmdatei, wo willst du die Informationen denn dann herbekommen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#7

Re: Mit version und Buildnummer arbeiten

  Alt 7. Feb 2010, 15:18
Ich dachte es gibt einen Record oder was weiss ich, der gesetzt ist. Aber den antworten und meinen google ergebnissen entnehme ich das es sowas wohl nicht gibt. Schade.

Da dem wohl nicht so ist, also es keinen interne variable/record oder so gibt, nehme ich dankend die routine von daywalker9.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Mit version und Buildnummer arbeiten

  Alt 7. Feb 2010, 15:20
Klar gibt es den Record, denn irgendwo müssen die Daten ja gespeichert sein. Dieser Record steht in den Ressourcen der Exe und diese sind natürlich einkompiliert:
Code:
IDR_VERSION VERSIONINFO
FILEVERSION 1, 0, 0, 15
PRODUCTVERSION 1,0,0,0
FILEOS 0x00000004
FILETYPE 0x00000001
BEGIN
  BLOCK "StringFileInfo"
  BEGIN
    BLOCK "04090000"
    BEGIN
      VALUE "FileVersion", "1, 0, 0, 15\0"
      VALUE "FileDescription", "nonVCL Dialog Template\0"
      VALUE "LegalCopyright", "Michael Puff\0"
      VALUE "ProductName", "Dialog Template\0"
    END
  END
  BLOCK "VarFileInfo"
  BEGIN
    VALUE "Translation", 0x0409, 0x0000
  END
END
Oder wo sollte dieser Record deiner Meinung nach stehen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#9

Re: Mit version und Buildnummer arbeiten

  Alt 7. Feb 2010, 15:30
Ich glaube wir reden aneinander vorbei. Mir ist auch klar das der kram in der exe stehen muss. Nu weiss ich garnicht wie ich mich ausdrücken soll....

BEISPIEL!!!!!!!!

Versionsnummer:=RecordWasWeissIch.Version;
SubVersion:=RecordWasWeissIch.SubVersion;


Ich dachte sowas gibt es.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Mit version und Buildnummer arbeiten

  Alt 7. Feb 2010, 15:32
Erst nach dem Linken, deshalb muss dies auch aus der Exe gelesen werden!
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 Uhr.
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