Skip to content

Commit

Permalink
Win.VersionInfo: Added TExeVersionInfo record
Browse files Browse the repository at this point in the history
  • Loading branch information
jackdp committed Aug 5, 2022
1 parent a6bd630 commit 5d80f63
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions Base/JPL.Win.VersionInfo.pas
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,13 @@ TVIStringInfoItem = record
function AsString(bIncludeTranslationRec: Boolean = False; bIncludeLangInfo: Boolean = False; PadStr: string = ''): string;
end;

TExeVersionInfo = record
FileVersion: TVIFileVersion;
StringInfo: TVIStringInfoItem;
function ReadFromFile(const FileName: string): Boolean;
procedure Clear;
end;

//TVIStringItems = {$IFDEF FPC}specialize{$ENDIF} TArray<TVIStringInfoItem>;
TVIStringItems = TArray<TVIStringInfoItem>;

Expand Down Expand Up @@ -498,6 +505,41 @@ function TVIFileVersion.AsString(const Separator: string): string;



{ TExeVersionInfo }

procedure TExeVersionInfo.Clear;
begin
FileVersion.Clear;
StringInfo.Clear;
end;

function TExeVersionInfo.ReadFromFile(const FileName: string): Boolean;
var
vi: TJPVersionInfo;
begin
Result := False;
Clear;
if not FileExists(FileName) then Exit;

vi := TJPVersionInfo.Create(FileName);
try
if not vi.ValidVersionInfo then Exit;

Self.FileVersion := vi.FileVersion;
if not vi.TryGetEnglishStringInfoItem(Self.StringInfo) then Exit;

Result := True;
finally
vi.Free;
end;
end;



{$ENDIF} // MSWINDOWS





end.

0 comments on commit 5d80f63

Please sign in to comment.