Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Dialogs not running in sequence


5 replies to this topic

Chelley

Chelley
  • Members
  • 43 posts

Posted 24 August 2004 - 16:49

Hi All

I have an installscript which displays a dialog which has a combo box on it. When a value is selected it automatically goes on to the next dialog ignoring the several lines of code that need to be processed before going on to the next dialog especially as depending on the value selected in the combo box should determine which dialog to go on to next. See below for the script. If the selected value in the combobox is CXP,UOA or LOGON it should go to the 'Dlg_CdAskYesNoProfileDB' dialog but it doesn't even run this code and just goes straight to the 'Dlg_SdCustomerInformation' dialog

Please help & Many Thanks in advance

Michelle

==========================================
nResult = CdDropDownSelect1(szTitle,szMsg,listSolutionNames,SOLUTIONID);
ListDestroy(listSolutionNames);

if (nResult = BACK) goto Dlg_SdLicence;

if (nResult != RES_DDLSOLUTIONID) then
Do (EXIT);
endif;

//Only need to change flow if SolutionID is CXP, UOA or LOGON

if ( nResult = StrCompare (SOLUTIONID, "CXP")==0) then
goto Dlg_CdAskYesNoProfileDB;
endif;
if ( nResult = StrCompare (SOLUTIONID, "UOA")==0) then
goto Dlg_CdAskYesNoProfileDB;
endif;
if ( nResult = StrCompare (SOLUTIONID, "LOGON")==0) then
goto Dlg_CdAskYesNoProfileDB;
endif;


Dlg_SdCustomerInformation:

svName = "";
szTitle = "";
szField1 = "Cust ID:";
szMsg = "Enter Customer Identifier.";

nResult = SdShowDlgEdit1(szTitle, szMsg, szField1, svName);


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 24 August 2004 - 17:18

CODE
if ( nResult = StrCompare (SOLUTIONID, "CXP")==0) then

This is C style coding that's not supported in InstallScript as far as I know. Split the assignment (nResult = ) and the if into two statements. Or, since you seem not to be using nResult anyway, use this instead:
CODE
if ( StrCompare (SOLUTIONID, "CXP")==0 ) then


Chelley

Chelley
  • Members
  • 43 posts

Posted 25 August 2004 - 08:56

The problem is really that when running through the debugger it doesn't even go to that code before it has changed the dialog. So it doesn't really matter at this stage that that code is incorrect.

Why does the dialog change without even running this code? It seems to just step over it?

Michelle

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 26 August 2004 - 20:16

You have to call this code inside the dialog handler script. You can't call it after (or before) calling the dialog.

kodgi

kodgi
  • Members
  • 1 posts

Posted 03 May 2005 - 21:24

Installshield Developer 8.0 Sp2. Whats problem with the below code..I am getting compilation errors as


d:\docs\MySetups\TestReboot\misc.rul(589) : error C8034: '=' : missing expression
d:\docs\MySetups\TestReboot\misc.rul(591) : error C8088: 'elseif' : not inside if statement
d:\docs\MySetups\TestReboot\misc.rul(593) : error C8088: 'endif' : not inside if statement




//We will simply return Success if we didn't find upgrade from 6.0/6.1
if ( 0 = StrCompare(strMLCLFileVersion, MLCL60_FILE_VER)) then
nValidVersion = 1;
elseif ( StrCompare (strMLCLFileVersion, MLCL61_FILE_VER)==0 ) then
nValidVersion = 1;
else
nValidVersion = 0;
endif;

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 04 May 2005 - 13:47

Try this instead:

if ( StrCompare(strMLCLFileVersion, MLCL60_FILE_VER) = 0 ) then