关于全局脚本动作里面调用SetVisible

功能是想实现只有在特定用户登录以后才显示一些相应按钮,比如管理员登录以后可以看到账户管理的按钮,从而进行账户管理。
但是现在是会出现以下错误,如图一:
并且在其他监控界面登录管理员账号的话,图二 上面红色圆圈中的按钮式不会出现的。只有在这隐藏该按钮的界面登录管理员账号,按钮才能显示。请教各位是什么问题。
代码如下:
if(strcmp(GetTagChar("@CurrentUserName"),"administrator")==0)
 {
 SetVisible("Login_out.pdl","Edit user",TRUE); //Return-Type: BOOL 
 printf("%s\r\r\n", "1");
 }
else
 {
 SetVisible("Login_out.pdl","Edit user",FALSE); //Return-Type: BOOL 
 printf("%s\r\r\n", "0");
 }
该C脚本是作为全局动作创建的,并且是在每次用户名变化时调用。

图片说明:

关于全局脚本动作里面调用SetVisible    关于全局脚本动作里面调用SetVisible   

最佳答案

参考链接:《全局脚本如何启用,启用后如何调用》
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=78551&cid=1032
《vb全局动作脚本死机》
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=64230&cid=1032
《wincc全局脚本动作-------隐藏控件》
http://blog.sina.com.cn/s/blog_4aa3b77d010090nu.html

提问者对于答案的评价:
Picture not selected will show if scripts (in the pop-up) are still running and your pop-up is closed. Then the script tries to acces a prop that is not there anymore.

it''s a "feature".You can do nothing about it, only make sure you have not to much scripts running. The scripts are still running and your picture is closed already so can not find any objects in it.

这是后来在http://www.automation.siemens.com/WW/forum/guests/PostShow.aspx?PostID=317275&language=en
这里找到的答案~
没有办法~只能用内部变量做个桥梁了~

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc250945.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月3日 下午3:47
下一篇 2018年12月3日 下午3:47

相关推荐

  • wincc搜索变量

    wincc搜索变量为什么有时候搜索到的变量有个叉号是什么原因 最佳答案 变量点没有用到,或者是和PLC对应不起来 提问者对于答案的评价:可能是

    SIMATIC WinCC 2019年6月11日
  • wincc flexible与wincc之间如何相互导入导出变量及图片

    我有个项目,wincc和mp 377各一套,因其都是人机交互东西,而且显示也可以一样,因此我想只做一套,然后将做好的再导到另一套上去。请问这种方式可以吗?如果可以应该怎么…

    SIMATIC WinCC 2019年6月11日
  • WinCC flexible的报警指示器相关问题

    目标是设计一个系统,有主界面,有监控温度的界面,当选中温度监控界面时显示当前温度,温度超过设定值时弹出报警指示器和报警窗口等,,问题:当显示报警指示器之后,通过按钮切换回主界面,报…

    SIMATIC WinCC 2017年11月19日
  • wincc6.0通讯

    wincc6.0通讯方式由TCP/IP方式改为工业以太网该如何设置? 最佳答案 详见《WINCC连接Siemens PLC的常用方式》中的三.WINCC使用普通网卡通过T…

    SIMATIC WinCC 2017年11月29日
  • wincc 与TCP/IP协议

    终端机器(如柴油机,发电机,)以485形式输出,我想通过458网关,转成TCP/IP格式,可以与上位机wincc电脑连接吗?如果可以应该怎么设置wincc,如果不可以,那应该怎样才…

    SIMATIC WinCC 2019年6月11日
  • 怎么不让全局脚本在WINCC一激活的时候就触发

    我在全局脚本里面写了一段代码,而代码触发的条件是当一个变量有变化的时候就触发,但是在WINCC激活的时候,系统就自动触发了一次,我尝试过网上介绍的,设置一个二进制变量,通过二进制变…

    SIMATIC WinCC 2019年6月11日
  • 22寸液晶显示器应该设置分辨率为多少,才能把wincc画面的效果显示为最佳效果

    最近我分别用两台22寸的显示器做两个工程的wincc画面,结果发现相同的项目在不同的显示器上显示大小不相同,我们公司做上位机画面一般都用22寸的液晶显示器,分辨率该如何设置呢,还是…

    SIMATIC WinCC 2019年6月11日
  • K-TP178组态时钟,格式用哪一个

    1 在K-TP178上用变量(而不是系统函数)组态日期和时间,所用的格式是 日期,时间,二进制,十六进制还是十进制啊?2 用系统函数是不是不行啊? 最…

    SIMATIC WinCC 2019年6月11日
  • wincc工程打开问题

    wincc工程在英文目录下,打开后左面只显示计算机、变量管理、结构变量,下面的图形编辑器什么的都不显示,工程可以运行,但是不能正常结束激活,只能两分钟后结束 问题补充:其它工程都可…

    SIMATIC WinCC 2019年6月11日
  • WinCC6.2画面如何一屏显示

    WinCC6.2画面做好后,全拼显示时只能显示出一部分,如何调整可以做到一屏显示呢? 最佳答案 楼主的画面分辨率是不是比显示器分辨率大呀? 可以在WinCC-计算机属性-…

    SIMATIC WinCC 2019年6月11日