PDA

View Full Version : Evaluation Questions



was
01-29-2022, 11:02 AM
Currently evaluating the SB trial version with a view to purchase. I have 2 questions:

1. I need more text in the Welcome dialog than can fit in the space available, and I can enter it ok in the Text and Messages>DLG_WELCOME_TEXT identifier with its vertical scrollbar. However, when running the project in Test, the bottom of the text is truncated as there is no scrollbar available. Is this wad?

2. When trying to run a Readme file in Test mode, the program crashes without any error messages after running the Welcome dialog. The Readme.rtf file is 46 KB, is that a problem? The Value in the readme Dialog's 'Select Text Resource' is file://E:\Skylog Project\Skylog Pro\V700\Install\README.RTF. The default Value of file://[SB5]\Redist\1033\Readme.rtf displays the 'To add your own license text to this dialog, specify your license agreement file in the Dialogs editor.' normally.

Thanks

lmodern1878
01-31-2022, 07:50 PM
Currently evaluating the SB trial version with a view to purchase. I have 2 questions:

1. I need more text in the Welcome dialog than can fit in the space available, and I can enter it ok in the Text and Messages>DLG_WELCOME_TEXT identifier with its vertical scrollbar. However, when running the project in Test, the bottom of the text is truncated as there is no scrollbar available. Is this wad?

2. When trying to run a Readme file in Test mode, the program crashes without any error messages after running the Welcome dialog. The Readme.rtf file is 46 KB, is that a problem? The Value in the readme Dialog's 'Select Text Resource' is file://E:\Skylog Project\Skylog Pro\V700\Install\README.RTF. The default Value of file://[SB5]\Redist\1033\Readme.rtf displays the 'To add your own license text to this dialog, specify your license agreement file in the Dialogs editor.' normally.

Thanks

1. As far as I can reasonably tell, this is a hard limit with the welcome dialogue.
2. I’ve used external RTF files that get combined into the set up at compile time slightly larger than that and haven’t experienced any issues, I will see if I can come up with an example at some point and provide a Google Drive link.

was
02-02-2022, 03:59 AM
Thank you. An example would be great.

was
02-02-2022, 04:15 AM
Never mind, I've sorted it out.

Thanks.

linder
02-02-2022, 06:46 AM
Thank you for the update !!!

Friedrich

was
02-03-2022, 09:38 AM
Another issue I've come across: I set the 'Next' button text to 'Register later' and then reset it to 'Next >' if the REGISTER dialog isn't displaying in the loop. However, wherever I put the reset code, the next dialog's 'Next' button text is always 'Register later'. Also, the "REGISTRATION" dialog show/hide code doesn't work. What am I doing wrong? Code below (the REGISTERBTN button is a button I've added to the REGISTER dialog):

! Wizard dialog definition(s)
Define Wizard Dialog "#1" (Welcome)
Define Wizard Dialog "#2" (Readme)
Define Wizard Dialog "#3" (License Agreement)
Define Wizard Dialog "REGISTER" (Custom Wizard Dialog) [ONINIT]
Define Wizard Dialog "REGISTRATION" (User Info) (%_SB_USERNAME%,,%_SB_USERSERIAL%)
Define Wizard Dialog "SELECTFOLDER" (Select Install Folder) (%MAINDIR%)
Define Wizard Dialog "#7" (Ready to Install) ()

! The Wizard Loop displays the dialog screens that the user sees in the installation
Loop Wizard (Abort Dialog Active)

If %_SB_DIALOGID% Equals "$REGISTER$" Then
Set Text "Register later" to ControlID "$NEXT_BUTTON$"

If %_SB_CONTROLID% Equals "REGISTERBTN" Then
Set Variable %REGISTER% to "T"
Show Wizard Dialog "REGISTRATION"
Display Message Box ("REGISTER=%REGISTER%", "Control Event Received")
Else
Hide Wizard Dialog "REGISTRATION"
End
Else
Set Text "Next >" to ControlID "$NEXT_BUTTON$"
End

If %_SB_DIALOGID% Does Not Equal "$REGISTER$" Then
Set Text "Next >" to ControlID "$NEXT_BUTTON$"
End

lmodern1878
02-03-2022, 12:36 PM
Hi:

I actually had this very same question in relation to the ready to install dialogue myself. And basically the trick is that you want the following


if %SB_DIALOGNEXID% = $REGISTER$ then
Set text “Register Later” to control ID “$Next_Button$”
End


So, that should hopefully fix your registration dialogue button issues. How I manage to figure this out is I wanted my next button on my ready to install dialogue to read “install now“ and so it’s been a fun ride trying to figure that one out.

As to making sure to hide the registration dialogue, if I may suggest create a radio buttons dialog asking if the user wants to register and grabbing that response like as follows

[code] if %SB_RETURN% = 1 then
Hide wizard dialog $REGISTER$”
End

Just some thoughts, hoping this

linder
02-03-2022, 01:19 PM
Hello,

please send the code-snipped in a project file to support [at] lindersoft [dot] com and we'll fix/enhance your code.

Friedrich

was
02-05-2022, 09:30 AM
Thank you both for your help. However, I've been able to resolve both issues thanks to lmodern1878's suggestions together with frequent reference to the Help, examples and the 'Learning SB' info.

Andrew

was
02-05-2022, 10:32 AM
Hello again,

1. I'm getting the following message when attempting to verify a serial number using a run command from within a wizard loop:

Performing pre-checks...
Install700_P.sbp(107): warning GEN1128: It is advised not to use a Run program command inside a Wizard Loop structure. The Loop code:

If %_SB_DIALOGID% Equals "$REGISTRATION$" Then
/* If %_SB_EVENTID% Equals "$EVENT:ONUPDATE$" Then */
Put INI Value ("INSTALLATION", "username = %_SB_USERNAME%") to "%TMPDIR%\Install.ini"
Put INI Value ("INSTALLATION", "regncode = %_SB_USERSERIAL%") to "%TMPDIR%\Install.ini"
Set Variable %REGNRESULT% to FUNCTION:Get INI Value ("Installation", "RegnResult") from "%TMPDIR%\install.ini"
Run Program ("%TMPDIR%\Skypconv32.exe", "14 %TMPDIR%") [Feature:Always Install] [Wait]
Set Variable %REGNRESULT% to FUNCTION:Get INI Value ("Installation", "RegnResult") from "%TMPDIR%\install.ini"
If %REGNRESULT% Equals "T" Then
Display Message Box ("Your registration details have been recorded successfully. Thank you for re...", "Registration")
Else
Display Message Box ("The registration details you have entered are incorrect. Please check and r...", "Registration")
End

I use this exe extensively for various non-UI purposes (eg, checking serial numbers as above), and it is essential that I be able to run it within the wizard loop. The exe seems to run correctly within the wizard loop, so what problems will I encounter in going against this advise?

2. In Competitive Advantages>Flexibility I see: SetupBuilder supports IF and WHILE control structures to provide looping and conditional execution of installation components. I can't see the WHILE command in the available Control Statements?

Thanks for your help.

linder
02-07-2022, 01:32 PM
Hello,

it is just a warning. You can run external files from within the Wizard Loop (we are also doing it from time to time), but it is not recommended :-)

Friedrich

was
02-08-2022, 01:58 AM
Thanks for the reply. Although I'm still not sure what the consequences of doing that might be. Also, will a WHILE control statement be available in the next version?

Andrew

linder
02-08-2022, 02:52 AM
Andrew,

SetupBuilder gives you more power. A typical While Statement creates a loop that executes a specific statement as long as a test condition evaluates to true.

See attached screenshot. You can use the Loop Statement in SetupBuilder to handle a While.

Friedrich

was
02-08-2022, 03:52 AM
Thanks Friedrich. Hadn't thought of that! I am missing the OR operator though (and AND but that isn't a problem) as I use them a lot. Do you have a similar whizo solution to that?

Also, I've noticed that, in my partially completed app, the 'Ready to Install' dialog displays the [INSTALLDIR] compiler variable value in the 'Current Settings>Destination Folder' value, and not the actual folder selected in the 'Select Install Folder' dialog.

Andrew

lmodern1878
02-08-2022, 05:38 PM
How to get “and” as well as “or” conditions is



variableName
comparison


test value
next step (then, and, or) as a drop down list



The above table is a rough estimation of where the controls are in the “if…” statement box so take the following:

Loop
If %myvar% = “1” and %myvar2% = “2” then
Take some action
End
Break loop
End

Hope this helps :)

was
02-09-2022, 02:17 AM
Ah, ok I see them in the If control statement's 'Option' dropdown - didn't look hard enough. And, of course, OR was used in Friedrich's screenshot - my bad! Many thanks.

was
02-09-2022, 05:57 AM
'I've noticed that, in my partially completed app, the 'Ready to Install' dialog displays the [INSTALLDIR] compiler variable value in the 'Current Settings>Destination Folder' value, and not the actual folder selected in the 'Select Install Folder' dialog.'

Just repeating the above question in case it gets lost. Also, I need to extract sub-folder names using a string parse function. No doubt it probably exists, but I can't find it?
Later: script function 'Handle String Operation' will do the job. The range of operations there are amazing!

Thanks for your help.

Andrew

lmodern1878
02-09-2022, 05:13 PM
Just wanted to take a minute and say that you’re welcome for any help that I was able to provide as well as if I was able to point you at least in the right direction if not answer your question out right. Should you have any further questions, comments, or concerns please feel free to respond to this message

was
02-10-2022, 01:59 AM
Thanks for your help. As I said, the following issue doesn't seem right:

'I've noticed that, in my partially completed app, the 'Ready to Install' dialog displays the [INSTALLDIR] compiler variable value in the 'Current Settings>Destination Folder' value, and not the actual folder selected in the 'Select Install Folder' dialog.'

Do you see the same thing? If so, how do you get the 'Current Settings>Destination Folder' value in the 'Ready to Install' dialog to show the actual selected Destination folder?

Later: Never mind, setting variable %_SB_INSTALLDIR% to %MAINDIR% (the selected Destination folder) in the previous dialog fixes the prolem.

BTW, have completed my evaluation and have now purchased SB Developer. It's a great tool with a lot of power under the hood.

Andrew