View Single Post
  #2  
Old 07-05-2021, 13:43
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,074
Thanks: 1,814
Thanked 2,304 Times in 787 Posts
Cesar82 is on a distinguished road
Quote:
Originally Posted by Masquerade View Post
Hello everyone, I am trying to add a progress bar to a script.

Code:
  Progress:= TNewProgressBar.Create(WizardForm);
  with Progress do 
  begin
  Parent := WizardForm;
  SetBounds(10, 150, 200, 0);
  Max:=1000;
  end;
Code:
function ProgressCallback(OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;
begin
  if OveralPct <=1000 then Progress.Position := OveralPct;
  Result := ISDoneCancel;
end;
Code:
if CurPageID = wpInstalling then
  begin
  ExtractTemporaryFile('unarc.dll')
  Progress.Show;
  DesktopIconCheckBox.Enabled := false;
  WizardForm.DirEdit.Hide;
  WizardForm.DirBrowseButton.Hide;
  ISDoneCancel:= 0
  ISDoneError := true;
  if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, 0, 0, 0, MainForm.Handle, 512, @ProgressCallback) then begin
    ChangeLanguage('English')
    begin
      repeat
        if not ISArcExtract ( 0, 0, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), false) then break;
        ISDoneError := false;
      until true;
        ISDoneStop;
      end; 
    end;
  end;
These above code snippets all are the code for the progress bar

I'm not entirely sure why the progress bar isn't showing up during installation.

I click "Install" to trigger wpInstalling.
THe directory box and the browse button disappear and the desktop icon checkbox is frozen. However, the progress bar does not appear.

Why could this be? Thanks!

Maybe it's because you set Parent = WizardForm.
If you are a native installer, the parent should be the wpInstalling page.

If you are an installer that uses the native interface, try setting the ProgressBar Parent to:

Code:
Parent: = WizardForm.ProgressGauge.Parent;
or 
Parent: = WizardForm.InstallingPage;
Reply With Quote