nick_goyal
3rd March 2009 13:57 UTC
Problem in using message box with custom page
i am using one custom page to check the "TCP-Port" whether its open or occupied and if it is occupied it is throwing a message saying this port is occupied.
my problem is when i click "ok" in "message box" the page moved to the next page and i have to come back to the old page to change the port. Is there any way to stay at the same page after clicking the "ok" button of the message box.
My Function for this operation is
Function CustomPage
InstallOptions::dialog "$PLUGINSDIR\CustomPage.ini"
ReadINIStr ${TEMP1} "$PLUGINSDIR\CustomPage.ini" "Field 2" "State"
${Unless} ${TCPPortOpen} ${TEMP1}
#MessageBox MB_OK "${TEMP1} port is free"
${Else}
MessageBox MB_OK "${TEMP1} port is occupied please use some other port "
${EndIf}
FunctionEnd
Truly grateful for any assistance on this issue.
Thanks a million!
Red Wine
3rd March 2009 14:43 UTC
Abort is the option.
nick_goyal
4th March 2009 05:59 UTC
Thank you for early reply Red Wine But this option is not working (i used Abort just after the Message Box).
Can you please tell me where to put Abort in this function.
Thanks in Advance
nick_goyal
4th March 2009 09:34 UTC
Hi MSG,
I have gone through this documentation but not able to use them as per my requirement, This Abort is not working under the condition and after clicking on OK (Message Box)it take me to the next page.
Thanks in Advance
Animaether
4th March 2009 11:12 UTC
might not have read the documentation correctly, then.. you must call Abort in the custom page's Leave function, not in the Create function
Page Custom CustomPageCreate CustomPageLave
Function CustomPageCreate
InstallOptions::dialog "$PLUGINSDIR\CustomPage.ini"
FunctionEnd
Function CustomPageLeave
ReadINIStr ${TEMP1} "$PLUGINSDIR\CustomPage.ini" "Field 2" "State"
${Unless} ${TCPPortOpen} ${TEMP1}
#MessageBox MB_OK "${TEMP1} port is free"
${Else}
MessageBox MB_OK "${TEMP1} port is occupied please use some other port "
Abort
${EndIf}
FunctionEnd
Edit: You might want to check to make sure that the user actually pressed the Next button by checking '"CustomPage.ini" "Settings" "State"'. If the value of that ini var is 0 (zero), then the user pressed the Next button.
I highly recommend moving up to nsDialogs, by the way :)