unit uNV;

interface

uses
  VCL.Forms, System.SysUtils, System.Classes, WUpdate, ExeInfo,
  uCICExecuteProgram;

type
  Tnv = class(TDataModule)
    Updater: TWebUpdate;
    exe: TExeInfo;
    procedure DataModuleCreate(Sender: TObject);
    procedure UpdaterStatus(Sender: TObject; StatusStr: string; StatusCode,
      ErrCode: Integer);
    procedure DataModuleDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    RunnerGE: TCICExecuteProgram;
    procedure UpdateFormCaption(pForm: TForm);
  end;

var
  nv: Tnv;

implementation

{%CLASSGROUP 'Vcl.Controls.TControl'}

{$R *.dfm}

{ Tnv }

procedure Tnv.DataModuleCreate(Sender: TObject);
begin
  // TODO ALE 20201218 check for updates
  Updater.DoUpdate;

  RunnerGE := TCICExecuteProgram.Create;
  RunnerGE.StartInDir := ExtractFilePath(Application.ExeName);
  RunnerGE.FileToExecute := 'Winharp32.exe';
end;

procedure Tnv.DataModuleDestroy(Sender: TObject);
begin
  RunnerGE.Free;
end;

procedure Tnv.UpdateFormCaption(pForm: TForm);
begin
  pForm.Caption := 'HC Launcher v.' + exe.FileVersion + ' on '
   + exe.ComputerName + ' ' + exe.OSName + ' by ' + exe.UserName;
end;

procedure Tnv.UpdaterStatus(Sender: TObject; StatusStr: string; StatusCode,
  ErrCode: Integer);
var
  lStatus: String;
begin
  lStatus := 'a';
end;

end.
