Einzelnen Beitrag anzeigen

ISMIRSCHLECHT

Registriert seit: 17. Dez 2018
Ort: Görlitz
69 Beiträge
 
#1

Seltsame Auffälle bei der Versionsinfo-Funktion

  Alt 6. Mär 2020, 09:42
Moin,

ich benutze Delphi 10.1 (Berlin) unter Win 7 32bit.
Natürlich sollte jedes ernsthafte Programm heutzutage eine Programmversion anzeigen.
In den Foren schwirrt es je von Funktionen, das ist nicht das Problem.
Nun kommt es aber zu zufälligen "Aussetzern" dieser Funktion.
Szenario : Ich setze die Versionsnummer auf 1.2.3.4 in den Optionen, lasse einkompilieren, klappt.
Auch im Eigenschaftsdialog des Explorers (Alt-Enter) wird die richtige Version angezeigt.

Ein paar Tage später erhöhe ich auf z. Bsp. 1.2.3.6, kompiliere etc. JETZT zeigt die nutzerdefinierte Funktion (s.u.) immer noch 1.2.3.4 an,
und dabei bleibt es auch. Der Eigenschaftsdialog zeigt die erhöhte Version 1.2.3.6 an.

Nach etlichen Tagen und vor ellam Compilerläufen wird die Versionsnummer plötzlich wieder aktualisiert, für eine Weile ...
GOTO Anfang...

Das ist sehr ärgerlich, weil ich das nicht zum Spaß sondern beruflich mache.
Könnte es an Delphi liegen ?
Und hier die Funktion, auch aus der DP:

Delphi-Quellcode:
function GCVer: String;
var
  VerInfoSize: DWORD;
  VerInfo: Pointer;
  VerValueSize: DWORD;
  VerValue: PVSFixedFileInfo;
  Dummy: DWORD;
begin
  VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
  GetMem(VerInfo, VerInfoSize);
  GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
  VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
  with VerValue^ do begin
    Result := 'Version '+IntToStr(dwFileVersionMS shr 16);
    Result := Result + '.' + IntToStr(dwFileVersionMS and $FFFF);
    Result := Result + '.' + IntToStr(dwFileVersionLS shr 16);
    Result := Result + '.' + IntToStr(dwFileVersionLS and $FFFF);

  end;
  FreeMem(VerInfo, VerInfoSize);
  end;
Gruß ism
  Mit Zitat antworten Zitat