xinzhihuoyan 发表于 2016-10-30 22:45:07

更改图标的代码报错,pause属性无法被接受

新手求助
使用软件版本12,根据plant simulation 教材做的案例,下面这个代码没法通过。请各位大神帮助提示错在那里。
(attribute: string; oldValue: any)
is
        do
        if ?.Pause then
                ?.CurrIconNo:=2;
        elseif ?.failed then
                ?.CurrIconNo:=3;
        else
                ?.CurrIconNo:=1;
        end;
end;

控制台报错信息:
方法 '.模型.框架.SetIcon'(位于第 4 行)出错: 'void' 无法接受方法 'Pause'。

dongshui8558 发表于 2016-10-31 13:00:33

上传个Demo模型看看,你的问题在于调用这个method的程序,错误是?是空对象。

xinzhihuoyan 发表于 2016-10-31 22:44:59

还请帮忙看看,谢谢啦

xinzhihuoyan 发表于 2016-10-31 22:54:45

dongshui8558 发表于 2016-10-31 13:00
上传个Demo模型看看,你的问题在于调用这个method的程序,错误是?是空对象。 ...

我把demo上传了,帮忙看看。不甚感激。

xinzhihuoyan 发表于 2016-10-31 23:24:00

安装例子的说法是不同的状态singleproc会有不同的颜色来表示。
@和?在sim-talk中的用法能不能指点一下。谢谢

dongshui8558 发表于 2016-11-1 19:24:59

应该是0,1,2,不能等于3,是从零开始算的。
(attribute: string; oldValue: any)
is
do
        if ?.Pause then
                ?.CurrIconNo := 1;
        elseif ?.failed then
                ?.CurrIconNo := 2;
        else
                ?.CurrIconNo:=0;
        end;
end;

dongshui8558 发表于 2016-11-1 19:32:42

在SingleProc中添加一个Observer,然后加入相关状态属性变化的响应即可。
如附件所示。

xinzhihuoyan 发表于 2016-11-1 21:59:27

非常感谢您的指点

devin 发表于 2016-11-17 17:21:12

非常實用的例子 :)
页: [1]
查看完整版本: 更改图标的代码报错,pause属性无法被接受