问题描述
现在想做个Tag查询,引用了PISDK.DLL,PISDKDlg.DLL,可是用了下面三种都显示不出来(红色语句出现异常)请问在.net(C#)该怎么写的?代码1:PISDKDlg.ApplicationObjectmyAppObject;PISDKDlg.TagSearchmyTagSearch;PISDK._PointListmyPointList;PISDKCommon.NamedValuesnvsSelServers;PISDKDlg.TagSearchOptionstsOptions;myAppObject=newPISDKDlg.ApplicationObjectClass();myTagSearch=myAppObject.TagSearch;nvsSelServers=newPISDKCommon.NamedValuesClass();nvsSelServers.LoadFromString("localhost");tsOptions=PISDKDlg.TagSearchOptions.tsoptSingleSelect;myPointList=myTagSearch.Show(nvsSelServers,tsOptions);
异常详细信息:System.InvalidCastException:不支持此接口代码2:PISDKDlg.ApplicationObjectao;PISDKDlg.TagSearchts;PISDK._PointListpl;PISDKCommon.NamedValuesnv;PISDKDlg.TagSearchOptionstso;ao=newPISDKDlg.ApplicationObjectClass();ts=ao.TagSearch;nv=newNamedValuesClass();tso=TagSearchOptions.tsoptSingleSelect;pl=ts.Show(nv,tso);
异常详细信息:System.InvalidCastException:不支持此接口代码3:PISDK.IPISDKpisdk=newPISDK.PISDKClass();PISDK.Serverpis;PISDK.PointListpl;pis=pisdk.Servers.DefaultServer;PISDKDlg.TagSearchts=newPISDKDlg.TagSearchClass();PISDKCommon.NamedValuesnv=newPISDKCommon.NamedValuesClass();nv.LoadFromString("localhost");pl=ts.Show(nv,TagSearchOptions.tsoptSingleSelect);
异常详细信息:System.InvalidCastException:接口PISDKDlg._TagSearch的QueryInterface失败。
解决方案
解决方案二:
最近也在研究PI,看你的代码是没问题,可能最打的原因是你没装PI-DATALINK吧,TagSearch是一个预先做好的窗口是要系统又才可以调用的。