C脚本与VBS脚本的执行效率问题

已锁定

EngineerStation

  • 帖子

    18
  • 精华

    0
  • 被关注

    2

论坛等级:游民

注册时间:2011-08-15

普通 普通 如何晋级?

C脚本与VBS脚本的执行效率问题

1788

5

2014-04-29 15:15:15

这个问题很久之前在WinCC 深入浅出 这本书中介绍过C脚本与VBS脚本执行效率的对比,今天突然用C脚本写一个现实登陆状态的脚本时出现了一个奇怪的现象,让我不禁又想起了这个问题
以下是在全局脚本中由@CurrentUserName变量触发的C脚本,LogiName是定义的一个内部字符串变量用于现实登陆状态,比如@CurrentUserName="张三"时会显示“张三已登录"
int gscAction( void )
{
#pragma option(mbcs)
#define Apc_CurrentUserName "@CurrentUserName"
char LoginNameText[50]="Nothing";
if (strcmp(GetTagCharWait(Apc_CurrentUserName),"")==0)
{
strcpy(LoginNameText, "登陆/注销");
}else
{
strcpy(LoginNameText,GetTagCharWait(Apc_CurrentUserName));
strcat(LoginNameText,"已登录");
}
SetTagChar("LogiName",LoginNameText); //Return-Type: BOOL
return 0;
}
同样的VBS脚本
Function action
Dim CurrentUserName,LoginName
Dim LoginNameText
Set CurrentUserName=HMIRuntime.Tags ("@CurrentUserName")
CurrentUserName.read
Set LoginName=HMIRuntime.Tags ("LogiName")
LoginName.read
If CurrentUserName.value="" Then
LoginNameText="登陆/注销"
Else
LoginNameText=CurrentUserName.value&"已登录"
End If
LoginName.Write LoginNameText
End Function
分别测试两段代码发现,C脚本在@CurrentUserName变化时需要至少3秒才会在将LogiName赋值为"张三已登录",而VBS代码则基本是同时赋值的,请问这是为何呢?真是执行效率的关系?
C脚本与VBS脚本的执行效率问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32564条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。