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();
}
这里面提示的错误如下:
错误 1 error C2039: “Value”: 不是“PISDK::PIValue”的成员