$ {NSD_GetText}始终返回空字符串

高特

根据手册,我应该能够使用如下代码获取文本控件的文本:

${NSD_GetText} $TextBox $0
MessageBox MB_OK "You typed:$\n$\n$0"

我总是从这个电话中得到空字符串。在下面的代码中,文本框显示“正确”,但细节始终显示Contents:如果我留言给${NSD_GetText}我,我会收到的Contents: wrong

!include nsDialogs.nsh
!include LogicLib.nsh

Var Dialog
Var TextBox

Page custom nsDialogsPage nsDialogsPageLeave
Page instfiles

Function nsDialogsPage
    StrCpy $0 "wrong"

    nsDialogs::Create 1018
    Pop $Dialog

    ${If} $Dialog == error
        Abort
    ${EndIf}

    ${NSD_CreateText} 0 12u 93% 12u "correct"
    Pop $TextBox

    nsDialogs::Show
FunctionEnd

Function nsDialogsPageLeave
FunctionEnd

Section
    ${NSD_GetText} $TextBox $0

    DetailPrint "Contents: $0"
SectionEnd

因此我以为当我尝试打印其内容时,该控件可能不存在,并尝试在将其键入到控件中时更新文本。那没有帮助。NSIS以这种方式被破坏是不可信的,那么我在做什么错呢?

!include nsDialogs.nsh
!include LogicLib.nsh

Var Dialog
Var TextBox
Var Text

Page custom nsDialogsPage nsDialogsPageLeave
Page instfiles

Function nsDialogsPage
    StrCpy $0 "wrong"

    nsDialogs::Create 1018
    Pop $Dialog

    ${If} $Dialog == error
        Abort
    ${EndIf}

    ${NSD_CreateText} 0 12u 93% 12u "correct"
    Pop $TextBox
    ${NSD_OnChange} $TextBox UpdateText

    nsDialogs::Show
FunctionEnd

Function nsDialogsPageLeave
FunctionEnd

Function UpdateText
    ${NSD_GetText} $TextBox $Text
FunctionEnd

Section
    DetailPrint "Contents: $Text"
SectionEnd
不同的

没错,该部分中不存在该控件,因此您必须在自定义页面上获取内容。

如果用户更改了文本,则第二个示例应该正确运行,但是如果用户不更改文本,则第二个示例应该正确运行,因为更改事件不会触发。

您通常只需阅读页面离开回调中的内容即可:

Var Dialog
Var TextBox
Var Text

!include LogicLib.nsh
!include nsDialogs.nsh
Page custom nsDialogsPage nsDialogsPageLeave
Page instfiles

Function nsDialogsPage
    nsDialogs::Create 1018
    Pop $Dialog
    ${If} $Dialog == error
        Abort
    ${EndIf}

    ${NSD_CreateText} 0 12u 93% 12u "correct"
    Pop $TextBox

    nsDialogs::Show
FunctionEnd

Function nsDialogsPageLeave
${NSD_GetText} $TextBox $Text
FunctionEnd


Section
    DetailPrint "Contents: $Text"
SectionEnd

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

getText()在sendKeys()之后返回空字符串

来自分类Dev

Browser#getText() 返回空字符串

来自分类Dev

使用typeahead验证使用getText()的元素返回空字符串

来自分类Dev

包含链接文本的下拉列表中的getText()返回空字符串

来自分类Dev

GetText为MFC程序中的列表框返回空字符串

来自分类Dev

fs.readFileSync始终返回空字符串

来自分类Dev

如果元素没有属性并且 getText() 返回空字符串,是否有另一种方法可以从元素中获取文本?

来自分类Dev

在init方法中设置的字符串属性始终返回空字符串

来自分类Dev

卷曲返回空字符串

来自分类Dev

Summernote返回空字符串

来自分类Dev

fgets()返回空字符串

来自分类Dev

NSubstitute返回空字符串

来自分类Dev

车把返回空字符串

来自分类Dev

.html()返回空字符串

来自分类Dev

Edittext返回空字符串

来自分类Dev

量角器getText返回非空元素的空字符串

来自分类Dev

GCMRegistrar.getRegistrationId(this)始终返回空字符串(使用GCM的Android Push通知)

来自分类Dev

GCMRegistrar.getRegistrationId(this)始终返回空字符串(使用GCM的Android Push通知)

来自分类Dev

我的无锁链表实现始终在toString()上返回空字符串

来自分类Dev

返回空字符的字符串向量

来自分类Dev

JSON stringify返回空字符串

来自分类Dev

Location.hash返回空字符串

来自分类Dev

jQuery为此返回空字符串作为ID

来自分类Dev

对.php文件的AJAX请求返回空字符串

来自分类Dev

GCM GetRegistrationId返回空字符串/空

来自分类Dev

Python urllib2返回空字符串

来自分类Dev

preg_replace返回空字符串

来自分类Dev

PHP-使用mysqli返回空字符串

来自分类Dev

WebClient请求返回空字符串

Related 相关文章

热门标签

归档