|
|
|
#1
|
|||
|
|||
|
Help with Progress Bar
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;
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! |
| Sponsored Links |
|
#2
|
||||
|
||||
|
Quote:
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; |
|
#3
|
|||
|
|||
|
Quote:
|
| The Following 2 Users Say Thank You to DiCaPrIo For This Useful Post: | ||
Cesar82 (07-05-2021), Masquerade (08-05-2021) | ||
|
#4
|
|||
|
|||
|
Is there any way I can use ExtractTemporaryFile with the * wildcard?
Currently I have this: Code:
[Files]
Source: Include\*; DestDir: {tmp}; Flags: dontcopy
|
|
#5
|
|||
|
|||
|
Quote:
HTML Code:
#define Resources "Files\*"
[Files]
Source: {#Resources}; DestDir: {tmp}; Flags: dontcopy
[Code]
function InitializeSetup:boolean;
begin
#define FHandle
#define FRst
#define Mask Resources
#sub ProcessFiles
#define FileName FindGetFileName(FHandle)
ExtractTemporaryFile('{#FileName}');
#endsub
#for {FHandle = FRst = FindFirst(Mask, 0); FRst; FRst = FindNext(FHandle)} ProcessFiles
Result:=True;
end;
Last edited by DiCaPrIo; 09-05-2021 at 06:52. |
| The Following 2 Users Say Thank You to DiCaPrIo For This Useful Post: | ||
El.Amigos (22-05-2021), Masquerade (09-05-2021) | ||
|
#6
|
||||
|
||||
|
Quote:
Code:
[Files]
Source: Include\*; DestDir: {tmp}; Flags: dontcopy
[ code]
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFiles('{tmp}\*.*');
Result := True;
end;
So I recommend you change to {tmp} in the DLL functions, or specify a destination other than {tmp} for them using the dontcopy flag. Code:
function ISArcExtract(CurComponent: Cardinal; PctOfTotal:double; InName, OutPath, ExtractedPath: AnsiString; DeleteInFile: Boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: boolean ):boolean; external 'ISArcExtract@files:ISDone.dll stdcall delayload';
change to:
function ISArcExtract(CurComponent: Cardinal; PctOfTotal:double; InName, OutPath, ExtractedPath: AnsiString; DeleteInFile: Boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: boolean ):boolean; external 'ISArcExtract@{tmp}\ISDone.dll stdcall delayload';
Last edited by Cesar82; 09-05-2021 at 10:53. |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| INNO TROUBLESHOOT - Tutorials and Answers about INNO Setup | REV0 | Conversion Tutorials | 129 | 21-05-2021 05:51 |
| INNO TUTORIAL - Using Unicode and ANSI Versions of INNO Setup | REV0 | Conversion Tutorials | 51 | 26-03-2015 06:57 |
| Frequently Asked Questions | Joe Forster/STA | PC Games - Frequently Asked Questions | 0 | 29-11-2005 09:48 |