多行文本框在NSIS中使用后退按钮加载页面时不显示内容?

时间:2013-10-08 07:06:16

标签: nsis

现在我正在使用NSIS创建安装程序。在我的一个自定义页面中,我创建了多行文本框并从读取文本文件中加载内容。页面加载时工作正常...但导航到下一页后,我刚刚点击了后退按钮..加载页面时只显示Mulitline文本框而不显示内容。然后再次从当前页面单击返回按钮,单击下一步按钮后,页面将加载内容。这不仅适用于单击后退按钮..我不知道为什么会发生这种情况..有谁能帮我弄清楚问题?

以下是我的自定义页面功能

Function PrePage
    ; Set dialog text:
    !insertmacro MUI_HEADER_TEXT "$(RELEASENOTEDIA_TITLE)" "RELEASENOTEDIA_SUBTITLE"

    nsDialogs::Create 1018
    Pop $dialog

    FileOpen $4 "$path\PreRequisite.txt" r
    StrCpy $3 ""
    loop:
    FileRead $4 $1
    StrCpy $3 "$3$1" ; append the line and copy it to another variable
    IfErrors +1 loop   
    FileClose $4

    nsDialogs::CreateControl EDIT \
        "${__NSD_Text_STYLE}|${WS_VSCROLL}|${ES_READONLY}|${WS_HSCROLL}|${ES_MULTILINE}|${ES_WANTRETURN}" \
        "${__NSD_Text_EXSTYLE}" \
        0 10% 100% 90% \
        "$3"
        Pop $hwnd

    nsDialogs::Show

FunctionEnd

1 个答案:

答案 0 :(得分:0)

对我来说工作正常,可能会改变另一页上的$ path吗?

在FileOpen之后添加MessageBox mb_ok handle=$4,path=$path,$ 4应为“”或0 ...

相关问题