AGB  ·  Datenschutz  ·  Impressum  







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

Programm Version Info

Ein Thema von Willie1 · begonnen am 4. Dez 2008 · letzter Beitrag vom 9. Dez 2008
Antwort Antwort
Seite 1 von 2  1 2      
Willie1

Registriert seit: 28. Mai 2008
667 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Programm Version Info

  Alt 4. Dez 2008, 10:29
Hallo Leute,
ich benutze folgende Funktion, um die Programm Version zu ermitteln. Bei einem Testprogramm klappt das auch, aber bei einem größerem Programm liefert es "Die Daten sind unzulässig" zurück. (GetLastError) - <Versionsinfo in das Projekt übernehmen> ist angehakt. Woran kann das liegen???


Delphi-Quellcode:
  function GetFileVersion(const FileName: string): string;
  var
    VersionInfoSize, VersionInfoValueSize, Zero: DWord;
    VersionInfo, VersionInfoValue: Pointer;
  begin

    Result := '';
    VersionInfoSize := GetFileVersionInfoSize(PChar(FileName), Zero);
    Result := SysErrorMessage(GetLastError);
    if VersionInfoSize = 0 then Exit; //<<<------------------------------------------------------------------------
        
    GetMem(VersionInfo, VersionInfoSize);
    try
      if GetFileVersionInfo(PChar(FileName), 0, VersionInfoSize, VersionInfo) and
        VerQueryValue(VersionInfo, '\{ root block }, VersionInfoValue,
        VersionInfoValueSize) and (0 <> LongInt(VersionInfoValueSize)) then
      begin
        with TVSFixedFileInfo(VersionInfoValue^) do
          Result := Format('%d.%d.%d Build %d',[HiWord(dwFileVersionMS),
                                                LoWord(dwFileVersionMS),
                                                HiWord(dwFileVersionLS),
                                                LoWord(dwFileVersionLS)]);
      end;
    finally
      FreeMem(VersionInfo);
    end; {try}

  end; {GetFileVersion}
MfG Willie
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#2

Re: Programm Version Info

  Alt 4. Dez 2008, 11:26
Siehst du im Explorer wenn du rechts auf die große Datei klickst und dann auf Eigenschaften gehst das es dort einen Reiter Version gibt? Bzw. ob die Informationen dort richtig drinnen stehen
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Programm Version Info

  Alt 4. Dez 2008, 11:41
Wie gsh schon sagte, es wird daran liegen das die Datei keine Fileversioninformationen hat.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
667 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

Re: Programm Version Info

  Alt 4. Dez 2008, 11:47
Der Reiter bei Vista heißt Details. Da stehen tatsächlich KEINE Versionsinformationen. Meine Frage ist WARUM? In Projekt Optionen ist "Versionsinfo in das Projekt übernehmen" angehakt!!! Ich bin ratlos.

Für einen Tipp wäre ich dankbar ...
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

Re: Programm Version Info

  Alt 4. Dez 2008, 11:51
Hallo,

in der .dof-Datei zum Projekt müssten die Versionsinfos stehen, die nachher in die Exe eingefügt werden. Sind die da?
Erstelle das Projekt mal vollständig neu (Shift-F9).
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
667 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

Re: Programm Version Info

  Alt 4. Dez 2008, 12:19
Alles neu kompilieren hat geholfen!!! Das Ganze ist mir trotzdem ein Rätsel. Das Prg ist nicht neu, ich hatte lediglich einen Bug entfernt.
Danke ...

W.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

Re: Programm Version Info

  Alt 4. Dez 2008, 12:46
Hallo,

bin mir nicht sicher, aber die Versionsinfos werden nur beim Neuerstellen eingebunden und nicht beim einfachen Kompilieren. Wird also die Exe beim Kompilieren nach marginalen Änderungen neu erstellt, so ist sie ohne die Versionsinfos.
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
667 Beiträge
 
Delphi 10.1 Berlin Starter
 
#8

Re: Programm Version Info

  Alt 4. Dez 2008, 12:59
Man lernt immer noch dazu - das Problem hatte mich ganz "verrückt" gemacht!!!
MfG
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
667 Beiträge
 
Delphi 10.1 Berlin Starter
 
#9

Re: Programm Version Info Wichtiger Nachtrag!

  Alt 5. Dez 2008, 18:55
Wichtiger Nachtrag!!!

Mit ist eben aufgefallen, dass das kompillierte Programm unter Windows 98 abstürzt, wenn ich die About-Box öffnen will, die die Versionsinfos enthält. Unter W98 stürzt der ganze Explorer ab, wenn ich mit Rechtsklick Eigenschaften/Version anzeigen will. Wa zum Teufel ist da los?

MfG
Willie
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

Re: Programm Version Info

  Alt 5. Dez 2008, 19:14
Wenn Möglich häng bitte mal die Exe an als Zip.

Die Versionsinfo hast du per IDE -> Projekt -> Optionen etc. hinzugefügt ?
Du verwendest den obigen Code ?
Wie sieht denn der Aufruf in der Aboutbox aus ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:36 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