Simulink 2011b:阻止掩码在关闭之前不会更新动态字段

时间:2017-03-23 17:29:54

标签: matlab simulink mask

我有一个带有弹出列表掩码的模拟块。 此列表中包含依赖于其他参数的选项。可以从掩码界面更改此参数。

假设对于option A,弹出列表包含{Choice1, Choice2},而对于option B,弹出列表包含{Choice1, Choice2, Choice3, Choice4}

当我为option A更改option B时,弹出列表不会更新,它仍会显示{Choice1, Choice2}。如果掩码已关闭然后重新打开,弹出列表将显示{Choice1, Choice2, Choice3, Choice4}

在这种情况下,这不是一个问题,但是当从option B转移到option A时,用户仍然可以选择Choice3Choice4,当块关闭并重新打开时,他的实际选择将是Choice1。这会带来威胁,因为用户可以选择Choice4,关闭面具并运行他的模型。

我可以确认在选项选择时正确更新了蒙版样式,而不是在蒙版关闭或打开时。此外,该块也在Matlab 2014b上使用完全相同的代码,并且列表在正确的时刻正确更新(也就是:on option changed)。

对此有何解决方案?

编辑:

我找到了这一大块代码,但它没有按照海报的意图起作用(对我没有影响):

wBlockObject = get_param(gcb, 'object');                
wBlockDialog = DAStudio.Dialog(wBlockObject.getDialogSource);
wBlockDialog.refresh();

应该强制屏蔽刷新。

0 个答案:

没有答案