1

I would like to display multiple slideshow on one form of my Inno Script. I'm using isslideshow.dll to enter my images.

When one slideshow is displayed, everything works perfectly, but when two are displayed, one of them freezes...Also, on deinitialization only one stops while other is still present...

Does anyone knows how I can fix it?

InitializeSlideShow(WizardForm.Handle, 0, 356, scaleX(200), ScaleY(112), true, 2);
CurrentPicture:=1;
ShowImage(piclist.strings[CurrentPicture-1], 1);
TimerID:=SetTimer(0, 0, 3000, WrapTimerProc(@OnTimer, 4));

Also, the deinitialization code:

DeinitializeSlideShow;
KillTimer(0, TimerID);
Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992

1 Answers1

0

I cannot find isslideshow.dll, so I do not know how it works.

But from the fact it does not return any handle to the slideshow instance, it probably is not designed for handling multiple slideshows in parallel.

What you can try is to make a second copy of the DLL (isslideshow2.dll), import its functions second time, under different names (e.g. InitializeSlideShow2) and use the second set of functions for the second slideshow.


Or use this solution for the slideshow:
Inno Setup - Multiple Images display (slideshow) on wpInstalling Page under ProgressGauge bar

It can handle any number of slideshows. Just create multiple callbacks using WrapTimerProc and multiple timers using SetTimer (though you may actually need only on timer/callback is the slideshows have the same frequency).

Community
  • 1
  • 1
Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992