OPC协议开发中引用类库OPCDAAuto.dll问题

zzit0721 2012-07-04 11:43:08
在C#中引用了OPCDAAuto.dll注册的类库。
但是该类的类库中的Connect方法,老报“对 COM 组件的调用返回了错误 HRESULT E_FAIL”错误。
请问该问题怎么解决?

代码如下:
//获取本地计算机上的OPCServerName
try
{
OPCServer KepServer = new OPCServer();
object serverList = KepServer.GetOPCServers(strHostName);

foreach (string turn in (Array)serverList)
{
cmbServerName.Items.Add(turn);
}

cmbServerName.SelectedIndex = 0;
btnConnServer.Enabled = true;
}
catch(Exception err)
{
MessageBox.Show("枚举本地OPC服务器出错:"+err.Message,"提示信息",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}

以上内容是没问题,表示DLL类库引用是正常的。

但是运行到下面这句就出错了
KepServer.Connect(remoteServerName, remoteServerIP);

报错信息:对 COM 组件的调用返回了错误 HRESULT E_FAIL
...全文
670 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
TigerSpringLiu 2013-01-08
  • 打赏
  • 举报
回复
表要温柔,服务器 客户端防火墙都关了就好了
云海玉弓缘 2012-12-28
  • 打赏
  • 举报
回复
部署配置改为x86试试,我win7 64位改为x86编译运行无报错,能连上opc服务器
夜之风 2012-12-03
  • 打赏
  • 举报
回复
我也遇到了这个问题,百度了好久都没解决,后来把IP自动获取的改为固定的了,然后就好了,不知道为什么
huayanxuyue 2012-09-24
  • 打赏
  • 举报
回复
KepServer.Connect(remoteServerName, remoteServerIP);
remoteServerName remoteServerIP 检查这两个参数是否传递正确 。一般传错了IP会导致这个BUG
zzit0721 2012-07-09
  • 打赏
  • 举报
回复
没人知道这个问题?
zzit0721 2012-07-05
  • 打赏
  • 举报
回复
没人吗?
zhu_jiang 2012-07-04
  • 打赏
  • 举报
回复
用命令行试下 regsvr32 OPCDAAuto.dll
zzit0721 2012-07-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
用命令行试下 regsvr32 OPCDAAuto.dll
[/Quote]

肯定注册了DLL,不注册怎么引用类库

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧