使用Vector Panel Designer中工具箱中的“按钮”,用于CAPL

问题描述 投票:1回答:1

我正在用CAPL编写测试用例,并希望通过使用Panel Designer中的“按钮”来激活每个测试用例。问题是,每当我按下按钮时,它的反应就好像被按下了两次。

我只是简单地添加这样的代码以使该问题可见。(“ @sysvar :: Test_Cases :: TC1”的系统变量链接到面板编辑器中的按钮)

on sysvar sysvar::Test_Cases::TC1  
{
    putValueToControl("Window","CAPL Output View",@sysvar::Test_Cases::TC1);
}

我希望只看到-> Value of @sysvar::Test_Cases::TC1 =1

但是输出是这样的:

@ sysvar :: Test_Cases :: TC1的值= 1@sysvar :: Test_Cases :: TC1 = 0

的值
can-bus capl canalyzer
1个回答
0
投票

on sysvar X {...}事件过程对X的value change起反应。因此,在按下按钮(0-> 1)时,值将设置为1,然后在释放按钮时(1-> 0 )值将设置为零,因此您将X的值更改了两次。这就是为什么您两次触发触发器的原因。

要仅对此类按钮按下事件做出反应,并且仅获得一次通知,请使用关键字this和条件语句。

on sysvar sysvar::Test_Cases::TC1  
{
    if (this==1) /* Following block is called only once, on button press 0->1 */
    {
     putValueToControl("Window","CAPL Output View",@sysvar::Test_Cases::TC1);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.