0

现在我正在使用 NSIS 创建安装程序。在我的一个自定义页面中,我创建了多行文本框并通过读取文本文件加载内容。它在页面加载时工作正常......但是在导航到下一页后,我刚刚单击了后退按钮.. 在页面加载时它只显示多行文本框而不是内容。并再次从当前页面单击返回按钮,单击下一步按钮后,页面将加载内容。这不仅适用于单击后退按钮.. 我不知道为什么会这样.. 任何人都可以帮我找出问题所在吗?

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

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
4

1 回答 1

0

对我来说效果很好,可能会在另一个页面上改变 $path 吗?

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

于 2013-10-08T20:57:51.840 回答