[cvsnt] RE: Problem upgrading to build 62

Martijn Laan mlaan at nospam4me.cs.vu.nl
Thu Dec 12 19:11:31 GMT 2002


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



More information about the cvsnt mailing list