Winamp & Shoutcast Forums

Winamp & Shoutcast Forums (http://forums.winamp.com/index.php)
-   NSIS Discussion (http://forums.winamp.com/forumdisplay.php?f=65)
-   -   Problem in using message box with custom page (http://forums.winamp.com/showthread.php?t=303720)

nick_goyal 3rd March 2009 12:57

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 13:43

Abort is the option.

nick_goyal 4th March 2009 04:59

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

MSG 4th March 2009 06:09

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

nick_goyal 4th March 2009 08:34

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 10:12

might not have read the documentation correctly, then.. you must call Abort in the custom page's Leave function, not in the Create function

code:

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


All times are GMT. The time now is 17:49.

Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.