Hallo,
also ich rufe folgende Funktion auf:
Delphi-Quellcode:
function TUserLogin.GetVersion: TGetVersionsStr;
var
VerInfoSize: DWORD;
VerInfo: Pointer;
VerValueSize: DWORD;
VerValue: PVSFixedFileInfo;
Dummy: DWORD;
begin
VerInfo := nil;
try
VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
try
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
with VerValue^ do
begin
Result.LongString := Format('%d.%d.%d.%d',
[dwFileVersionMS shr 16,
dwFileVersionMS and $FFFF,
dwFileVersionLS shr 16,
dwFileVersionLS and $FFFF]);
Result.ShortString := Format('%d.%d',
[dwFileVersionMS shr 16,
dwFileVersionMS and $FFFF]);
end;
finally
FreeMem(VerInfo, VerInfoSize);
end;
except
Result.ShortString := #$31#$2E#$30; // 1.0
Result.LongString := Result.ShortString;
end;
end;
und kriege dann beim Compilieren die Meldungen:
"Unedfinierter Bezeichner: GetVersion"
"Unedfinierter Bezeichner: Result"