在WINCC里编辑combobox控件的问题 点击:3493 | 回复:4



胡萌

    
  • 精华:0帖
  • 求助:3帖
  • 帖子:6帖 | 22回
  • 年度积分:13
  • 历史总积分:68
  • 注册:2007年4月11日
发表于:2008-06-11 09:34:03
楼主

在图形编辑器里插入ms forms 2.0 combobox控件,并对其编程如下:

dim a

set a=hmiruntime.activescreen.screenitems("控件1")

a.additem("qqqqq")

 

这里遇到设置触发器的问题,如果是变量触发,则需要变量变化才触发上面的代码;如果是周期触发器,则每隔一周期触发上面的代码,结果会出来很多qqqqq.;

在全局编辑器里写如下代码:

dim a,b

set a=hmiruntime.screens("ffff.pdl")

set b=a.screenitems("控件1")

此时b对象却没有ADDITEM方法。

希望解决的问题是写入item就不受其他因素影响,就如WINCC自己的文本列表一样。




yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2008-06-11 09:41:59
1楼

使用一個標志位就可以了。

例如  IF   AAAA=TRUE  THEN

                ……

            AAAA=FLASE

        END_IF;

以上!

 

Good Luck!

 

胡萌

  • 精华:0帖
  • 求助:3帖
  • 帖子:6帖 | 22回
  • 年度积分:13
  • 历史总积分:68
  • 注册:2007年4月11日
发表于:2008-06-11 16:57:38
2楼

VBS里的数据类型只有一种类型那就是任意类型variants。但是好像也不支持BOOL类型。

我做如下改:

dim a,b

if b=0 then

set a=hmiruntime.activescreen.screenitems("控件1")
a.additem("qqqqq")
b=1

end if

照样很多qqqqq

结果还是不行,

 

 

navy0429

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 12回
  • 年度积分:0
  • 历史总积分:29
  • 注册:2006年1月19日
发表于:2008-06-12 11:38:25
3楼

我也遇到过这样的问题,想了很久才解决,你不要在控件中编写代码,在窗口中编写上面的代码,这样你在弹出控件所在的界面时,控件的条款只会加载一次,祝好运

 

胡萌

  • 精华:0帖
  • 求助:3帖
  • 帖子:6帖 | 22回
  • 年度积分:13
  • 历史总积分:68
  • 注册:2007年4月11日
发表于:2008-06-12 15:11:15
4楼
谢谢3楼的回复,问题已解决。在打开画面事件上编写的代码

热门招聘
相关主题

官方公众号

智造工程师