как обьеденить прогресс бар Isdone с прогресс баром от inno

Mrman

Новичок
Всем Доброго времени суток!
Вопрос собственно таков как совместить прогресс бар isdone с стандартным прогресс баром inno не создавая новый?
Пробывал зделать так
Код:
function ProgressCallback(OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:pAnsiChar): longword;
begin
  if OveralPct<=1000 then  WizardForm.ProgressGauge.Position := OveralPct;
  Text16.Caption := IntToStr(OveralPct div 10)+'.'+chr(48 + OveralPct mod 10)+'%';

Text15.Caption:=ExpandConstant('{cm:ElapsedTime} ')+TimeStr2;
  Text14.Caption:=ExpandConstant('{cm:RemainingTime} ')+TimeStr1;
  Result := ISDoneCancel;
end;
но прогресс не идет как должен идти тоесть сам прогресс бар двигается быстрее чем через прогресс бар isdone
 

YURSHAT

Тех. админ
Администратор
тоесть сам прогресс бар двигается быстрее чем через прогресс бар isdone
Это происходит потому как у ISDone прогресса Max := 1000, а у станлартного ProgressGauge Max := 100

То есть необходимо либо изменять Max стандартного прогресса при распаковке, либо делить на 10 OveralPct
 

zettend

Старожил
Опять поднимем тему)

Есть код:

Код:
Function ProgressCallback(OveralPct, CurrentPct: Integer; CurrentFile, TimeStr1, TimeStr2, TimeStr3: PAnsiChar): LongWord;
var
  TotalProgress, CurrentProgress: String;
begin
  WizardForm.ProgressGauge.Position := OveralPct;
  if OveralPct <= 1000 then ImgPBSetPosition(ISDoneProgressBar, OveralPct);

  TotalProgress := IntToStr(OveralPct DIV 10) + '.' + CHR(48 + OveralPct MOD 10);
  CurrentProgress := IntToStr(CurrentPct DIV 10) + '.' + CHR(48 + CurrentPct MOD 10);
  LeftTimeLB.Caption := CustomMessage('LeftTime') + ' ' + TimeStr1;

  Time3Label := TimeStr3;
  SetTaskBarTitleWinTB('{#GameName} - ' + IntToStr(OveralPct DIV 10) + ' %');
  SetTaskBarProgressValue(OveralPct DIV 10);
  ImgApplyChanges(WizardForm.Handle);
  Result := ISDoneCancel;
end;
ProgressGauge.Max := 1000

При этом статус бар вообще не работает.

Но в ТаскБаре отображается всё нормально.
 
Сверху