C通过返回值改变属性.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C通过返回值改变属性

通过返回值改变属性 对象的属性值可以通过返回值来设置,这与通过明确设置检索如 SetBackColor 和 SetProperty 相比较,系统利用率将显著减少。 以高系统利用率改变属性的实例 Circle1 处的动作,可见,触发变量toll,2 秒: if (GetTagWord(toll) 20) { SetBackColor(lpszPictureName,lpszObjectName,CO_RED); // 背景色 Set Left(lpszPictureName,lpszObjectName,199); // 位置 X SetTop(lpszPictureName,lpszObjectName,199); // 位置 Y } else { SetBackColor(lpszPictureName,lpszObjectName,CO_GRAY); // 背景色 SetLeft(lpszPictureName,lpszObjectName,99); // 位置 X SetTop(lpszPictureName,lpszObjectName,99); // 位置 Y } return TRUE; // 可见 功能相同,以低系统利用率改变属性的实例 Circle1 处的动作,背景色,触发变量toll,2 秒: if (GetTagWord(toll) 20) return CO_RED; else return CO_GRAY; Circle1 处的动作,位置 X,触发变量toll,2 秒: if (GetTagWord(toll) 20) return 199; else return 99; Circle1 处的动作,位置 Y,触发变量toll,2 秒: if (GetTagWord(toll) 20) return 199; else return 99; 技术背景: 在第一种情况中,在动作内检索 set 函数,这些函数将引发到 PDLRT 的任务切换。 PDLRT 建立画面中的必需部分。 之后,设置下一个 set 检索。 在第二个实例中,用户必须执行 3 个动作,但这是一种非常快速的方法。 脚本控制的动作执行后,将收集全部结果并马上将结果传送给 PDLRT。 这仅涉及到一次任务切换。 现在,PDLRT 可以对画面设置进行优化,因为所有的值均可利用。 这仅涉及到一次画面设置。 如果需要执行复杂的计算或操作,以便检查例如颜色更改,则可以设置项目函数,该函数会执行计算并将其填充到 C 结构中。 其它动作可从该 C 结构中读取,然后重新传送返回值。 GetTag/SetTag 或 GetTagWait/SetTagWait 要读取和描述过程变量,缺省情况下使用函数 GetTag 和 SetTag。 GetTag 还是 GetTagWait? 通过 GetTag 检索的过程变量均放置在图像中。 因为图象的更新与读取是两个分离的过程,所以,GetTag 调用将不受连接的直接影响。 这样,可比 GetTagWait 检索执行得更快、更不受约束。 使用 GetTagWait,已请求的过程变量并未在图像中接收。 GetTagWait 检索可明确地读取 AS 中的数值。 这始终包含通过连接和 AS 反应时间的来回路径。 在运行时,C 动作的处理锁定而且不能预先估计检索需要持续多久。 如果正在读取多个变量,时间将增加。 如果快速写/读过程需要同步,那么需要检索 GetTagWait,要避免数值从 AS 确切读取或在映像中注册。 在循环 C 动作中应避免 GetTagWait 检索,因为它是引起性能问题的主要原因。 SetTag 还是 SetTagWait? SetTag 检索将发出一个写作业,而不需等待 AS 的确认。 SetTagWait 检索将发出一个写作业,且需要等待 AS 的确认。 这始终包含通过连接和 AS 反应时间的来回路径。 在运行时,C 动作的处理锁定而且不能预先估计检索需要持续多久。 如果正在写入多个变量,时间将增加。 SetTagWait 检索将用于确保在对 C 动作进行进一步的处理之前,写入数值。 在循环 C 动作中,应避免 SetTagWait 调用。 説明GetTag 与 GetTagWait 之间的差别也适用于内部变量。 然而,在这种情况下的差别将不是十分严重,因为没有出现任何连接。 内部变量也需要使用相应的 wait 函数,以便对快速写/读过程进行同步。 有关详细信息,请参见相应的函数描述。 用变量触发器代替时间触发器 使用图形编辑器,动态对话框中动作的缺省设置是变量触发器,而 C 动作的缺省设置则是时间为 2

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档