1

当定义变量包含@,-等特殊字符时,现在这个变量在比较条件中使用,然后给出“Bad conditional string”错误。并且此条件用于在自定义对话框中发布新对话框。

示例代码:

<?define Key="test@key"?>

<Control Id="LicenseKey" Type="Edit" Password="yes" X="20" Y="139" Width="320" Height="15" Property="Keytext" />

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
     <Publish Event="SpawnDialog" Value="CheckKey" Order="2"><![CDATA[Keytext <> $(var.Key)]]></Publish>
</Control>

那么谁能告诉我如何解决这个错误?

4

1 回答 1

4

如果我理解正确,var.Key您传递的值包含一些特殊字符。我想你应该$(var.Key)用引号括起来这个被假定为一个值,像这样:

<Publish Event="SpawnDialog" Value="CheckKey" Order="2"><![CDATA[Keytext <> "$(var.Key)"]]></Publish>
于 2012-07-16T06:34:59.097 回答