Installation ${NSD_GetText}返回一个空的.string-I';我卡住了
我正在尝试使用自定义设置表单包装安装: configform.nsdInc:Installation ${NSD_GetText}返回一个空的.string-I';我卡住了,installation,nsis,gettext,nsdialogs,Installation,Nsis,Gettext,Nsdialogs,我正在尝试使用自定义设置表单包装安装: configform.nsdInc: ; ========================================================= ; This file was generated by NSISDialogDesigner 1.4.2.0 ; http://coolsoft.altervista.org/nsisdialogdesigner ; ; Do not edit it manually, use NSISDialog
; =========================================================
; This file was generated by NSISDialogDesigner 1.4.2.0
; http://coolsoft.altervista.org/nsisdialogdesigner
;
; Do not edit it manually, use NSISDialogDesigner instead!
; =========================================================
; handle variables
Var hCtl_configForm
Var hCtl_configForm_imgQuality
Var hCtl_configForm_wpctrlPort
Var hCtl_configForm_wpctrlIp
Var hCtl_configForm_atmCmdPort
Var hCtl_configForm_atmCmdIp
Var hCtl_configForm_Label3
Var hCtl_configForm_Label2
Var hCtl_configForm_Label1
Var T0
Var T1
Var T2
Var T3
Var T4
!include nsDialogs.nsh
; dialog create function
Function fnc_configForm_Create
; === configForm (type: Dialog) ===
nsDialogs::Create 1018
Pop $hCtl_configForm
${If} $hCtl_configForm == error
Abort
${EndIf}
!insertmacro MUI_HEADER_TEXT "Dialog title..." "Dialog subtitle..."
; === imgQuality (type: ComboBox) ===
${NSD_CreateComboBox} 77.67u 43.69u 63.85u 12.92u ""
Pop $hCtl_configForm_imgQuality
${NSD_CB_AddString} $hCtl_configForm_imgQuality "15"
....
${NSD_CB_AddString} $hCtl_configForm_imgQuality "97"
; === wpctrlPort (type: Text) ===
${NSD_CreateText} 235.65u 24u 57.92u 12.31u ""
Pop $hCtl_configForm_wpctrlPort
; === wpctrlIp (type: Text) ===
${NSD_CreateText} 77.67u 24u 154.03u 12.31u ""
Pop $hCtl_configForm_wpctrlIp
; === atmCmdPort (type: Text) ===
${NSD_CreateText} 235.65u 3.69u 57.92u 12.31u ""
Pop $hCtl_configForm_atmCmdPort
; === atmCmdIp (type: Text) ===
${NSD_CreateText} 77.67u 3.69u 154.03u 12.31u ""
Pop $hCtl_configForm_atmCmdIp
; === Label3 (type: Label) ===
${NSD_CreateLabel} 7.9u 44.92u 65.82u 11.69u "Image quality:"
Pop $hCtl_configForm_Label3
; === Label2 (type: Label) ===
${NSD_CreateLabel} 7.9u 25.85u 65.82u 11.69u "WPCTRL IP\Port:"
Pop $hCtl_configForm_Label2
; === Label1 (type: Label) ===
${NSD_CreateLabel} 7.9u 5.54u 65.82u 11.69u "ATMCMD IP\Port:"
Pop $hCtl_configForm_Label1
FunctionEnd
; dialog show function
Function fnc_configForm_Show
Call fnc_configForm_Create
nsDialogs::Show
FunctionEnd
Function fnc_save_config
${NSD_GetText} hCtl_configForm_atmCmdIp $T0
${NSD_GetText} hCtl_configForm_atmCmdPort $T1
${NSD_GetText} hCtl_configForm_wpctrlIp $T2
${NSD_GetText} hCtl_configForm_wpctrlPort $T3
${NSD_GetText} hCtl_configForm_imgQuality $T4
FileOpen $5 "$INSTDIR\M3Remote.xml" w
FileWrite $5 "<Settings><Login>Remote</Login> <Communications><WP><Ip>"
FileWrite $5 $T2
FileWrite $5 "</Ip><Port>"
FileWrite $5 $T3
FileWrite $5 "</Port>"
。。。。。。。。。
分段结束
Function un.onUninstSuccess
.....
FunctionEnd
Function un.onInit
....
FunctionEnd
Section uninstall
...............
SectionEnd
问题是,我完全搞不清楚到底出了什么问题
${NSD_GetText}
,因为它总是返回一个空字符串。
我被卡住了 您没有向
${NSD_GetText}
传递有效的窗口句柄,因为您忘记了变量名上的$
前缀。将${NSD_GetText}hCtl_configForm_atmCmdIp$T0
更改为${NSD_GetText}$hCtl_configForm_atmCmdIp$T0
等
Function un.onUninstSuccess
.....
FunctionEnd
Function un.onInit
....
FunctionEnd
Section uninstall
...............
SectionEnd