Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to firstname.lastname@example.org.
Hi, On Thu, 12 Dec 2002 18:54:05 GMT, tmh at nodomain.org (Tony Hoyle) wrote: >That involves mucking around with lots of state & global variables >though... It's a lot neater to do it in a single routine. Maybe I understand you wrong, but you don't need extra state or global variables. Here's an example of how to stick the page between the Select Dir and Ready To Install pages. ------- [Code] function ScriptDlgPages(CurPage: Integer; BackClicked: Boolean): Boolean; var Next: Boolean; Install: String; begin if (not BackClicked and (CurPage = wpSelectDir)) or (BackClicked and (CurPage = wpReady)) then begin ScriptDlgPageOpen(); ScriptDlgPageSetCaption('Antivirus warning') ScriptDlgPageSetSubCaption1('Antivirus software may cause repository corruption') ScriptDlgPageSetSubCaption2( 'If you are running Antivirus software (particularly Norton Antivirus) you must switch off ' + 'the ''Filesystem Realtime Protection'' option on the machine running the server. This ''feature'' contains bugs ' + 'which may lead to irrecoverable corruption of your repository.' + #13#10#13#10 + 'You also may experience problems using the client with this option enabled.'); repeat Next := InputOption('&I understand', Install); until (Install = '1') or Terminated or not Next; if not BackClicked then Result := Next else Result := not Next; ScriptDlgPageClose(not Result); end else begin Result := True; end; end; function NextButtonClick(CurPage: Integer): Boolean; begin Result := ScriptDlgPages(CurPage, False); end; function BackButtonClick(CurPage: Integer): Boolean; begin Result := ScriptDlgPages(CurPage, True); end; ---- >The ISX >example script does it for every for every forward/backward and (I >think) disables all the default screens too, although I haven't been >able to compile it yet to check. ? >I don't think I've got ScriptDlg.iss - the example script that came >with the version I installed is called Setup.iss. That's the setup script used for the ISX installer itself. ScriptDlg.iss resides in the same dir. Greetings, Martijn Laan