Archive: Problem in using message box with custom page


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!


Abort is the option.


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


http://nsis.sourceforge.net/Docs/Chapter4.html#4.5.3


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


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 :)