![]() |
Programm Version Info
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:
MfG Willie
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} |
Re: Programm Version Info
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
|
Re: Programm Version Info
Wie gsh schon sagte, es wird daran liegen das die Datei keine Fileversioninformationen hat.
|
Re: Programm Version Info
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 ... |
Re: Programm Version Info
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). |
Re: Programm Version Info
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. |
Re: Programm Version Info
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. |
Re: Programm Version Info
Man lernt immer noch dazu - das Problem hatte mich ganz "verrückt" gemacht!!!
MfG |
Re: Programm Version Info Wichtiger Nachtrag!
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 |
Re: Programm Version Info
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 ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz