小飞的世界

°★·°∴☆°广阔的星空中有发生在你我身边的故事∴☆°★·,亦真亦幻。如若这漫长的月夜,无人与你同行,那就让我用微笑来伴你一程......欢迎来到小飞的幻想世界,留下那永恒的瞬间!
用VC++开发OPC时遇到的变态类型-VARIANT!很讨厌也很可爱的~~~
作者:止一  发表时间:2004-12-22

OPC中数据项的数据类型为 VARIANT,VARIANT结构本身有具体的数据类型。VT_I2, I4, R4, R8, CY, DATE, BSTR, BOOL, UI1类型,以及这些类型组成的数组类型(VT_ARRAY),是OPC基金会希望开发者使用的(部分原因是这些类型在VB里是合法的)。但除此之外其它数据类型(VT_*)也是允许的。

一般情况下,服务器应该尽量满足针对这些类型的客户请求。(OPC DA规范允许客户程序针对数据项指定返回值类型,服务器有责任尽量为其转换)。用户也可以请求上述建议之外的类型。

一些开发商(尤其是客户程序、服务器来自于同一开发商时),往往使用以上类型之外的类型,来传递他们的专用数据,从互操作角度来讲,这种情况应尽量避免。

建议(不是必须)客户程序在处理AddItems或者ValidateItems的返回数据时,考虑处理 VT_EMPTY 类型的 native type,因为有些服务器无法在数据项刚被添加时获取其实际数据类型。

对于不能转换的请求类型,服务器应尽量合理地处理,比如先调用VariantChangeType,失败的话返回错误代码。

客户程序应该做好服务器无法接受请求类型的准备。

当客户请求数据项的原始类型时(发送VT_EMPTY),应做好服务器返回任何类型的准备。即使无法处理,也应该合理处理,释放掉内存(VariantClear)并提示用户。

所属栏目:VC++天地  


 
评论内容(共有{Count}条)


{CommentAuthor}:
{{CommentContent}

--- {CommentTime} | {CommentEmail} {CommentUrl} {CommentIp}


 
 About ME

Name    : Xiaofei
Gender :  Male
Hobby   : Internet,chess,
       fishing,music,reading......
QQ     : 8201655
EMail : lizzie001@163.com


月夜思绪

在这月儿高挂的夜里

整理着散乱的

与感情有关的思绪

那些生活事业的前尘往事

飘然而至

原以为自己

可以做的云淡风轻

在飘渺的夜风里却发现

那些东西化做无边的落寂

在细柳轻舞的池塘边 舞蹈着

有谁 愿意让心辗转反侧

让影子相陪 举杯 饮尽

杯里 都是 星星的碎片

夜有月梦 心亦有梦

月儿皎洁的光辉 落在

苍白的脸庞 如水的目光

映耀 人世间的离合悲欢

一切的一切

在它的清光里

都不及鱼儿的悠闲 快乐



 友情链接




 最新评论




 访问统计



 日志搜索



 
Designed By xiaofei Powered by 5DBLog
版权所有 Copyright 2005-2008 小飞的世界