首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ 调用C#组件的有关问题(PI实时数据库的组件)

2013-01-23 
C++ 调用C#组件的问题(PI实时数据库的组件)?最近在写VC++读取PI实时数据库,利用PI实时数据库提供的C#组件,

C++ 调用C#组件的问题(PI实时数据库的组件)?
最近在写VC++读取PI实时数据库,利用PI实时数据库提供的C#组件,在C#中调用成功,但在VC++中调用时,明明在C#中有的组件变量,在VC++中不提示,也编译不过去,提示就是没有这个变量。请高手们指导,其它的代码都通过去了,也就是说,引用都正确的。
代码如下:
C#:
                PISDK.PIValues pvs=...;
                foreach (PISDK.PIValue pv in pvs)
                {
                    PITimeServer.PITime pi = pv.TimeStamp;
                    string stime = pi.LocalDate.ToString();//时间戳
                    string svalue = pv.Value.ToString();  //值
                 }
运行什么问题也没有。

VC++:
PISDK::PIValues ^pvs;
PISDK::PIPoint ^ipoint = myServer->PIPoints[gcnew System::String(tagName)];
pvs = ipoint->Data->RecordedValues(startTime, endTime, PISDK::BoundaryTypeConstants::btInside, gcnew System::String(""), PISDK::FilteredViewConstants::fvRemoveFiltered,status);
for (int i=0;i<pvs->Count;i++)
{
PISDK::PIValue ^pv = pvs[i];
PITimeServer::PITime ^pi=pv->TimeStamp;
CString conf="0";
if(pv->IsGood())
conf="100";
CString value=pv->Value->ToString();
CString stime=pi->LocalDate.ToString();
                         }
这里面提示的错误如下:
错误1error C2039: “Value”: 不是“PISDK::PIValue”的成员

[解决办法]
LZ把PISDK::PIValue的声明贴一下吧

还有 ^ == * ?
[解决办法]

引用:
PITimeServer.PITime TimeStamp { set; get; }
    PISDK._PIValue 的成员
object Value { set; get; }
    PISDK._PIValue 的成员
PISDKCommon.NamedValues ValueAttributes { set; get; }
    PISDK._PIValue 的成员
……


这个应该是C#中的吧,我是指VC的声明

热点排行