#definePropeRTyName"ControlValue"
LINKINFOlinkinfo
GetLink(lpszPictureName,lpszObjectName,PropertyName,&linkinfo);
if(STrlen(linkinfo.szLinkName)>0)
SetTagWord(linkinfo.szLinkName,(WORD)value);
else
SeTPropDouble(lpszPictureName,lpszObjectName,PropertyName,value);
请教这段程序的意义。
问题补充:
为什么要声明#definePropertyName"ControlValue",而不是直接写作GetLink(lpszPictureName,lpszObjectName,“controlvalue”,&linkinfo)呢?
最佳答案
GetLink的功能是获取某个画面中指定对象其属性的动态连接特性。
连接属性包括动态连接类型、更新方式及连接的变量名称。
函数原型如下:
BOOLGetLink(
LPCTSTRlpszPictureName,//画面名称
LPCTSTRlpszObjectName,//对象名称
LPCTSTRlpszPropertyName,//属性名称
LPLINKINFO*pLink);//连接特性结构指针
其中,LINKINFO是结构体。定义如下:
typedefstruct{
LINKTYPELinkType;
DWORDdwCycle;
TCHARszLinkName[256];
}LINKINFO;
说明:
LinkType:连接类型,
dwCycle:更新方式
szLinkName[256]:变量名称
程序的意思参见youhm的回答。
define是C语言中的预处理命令,可以提高源代码的可读性。详细的需要查一下C语言的资料了。
在wincc的帮助中搜索“WinCC编码规则”能查到一些信息。
提问者对于答案的评价:
谢谢指教
专家置评
已阅,最佳答案正确。