C#类库项目调用OCX控件问题

练了五年的实习生 2016-05-18 06:22:58
本人在开发一款车号识别设备,官方给的DLL是OCX控件。
winfrom项目中操作完全没有问题,但是在类库项目中会报异常,
贴一下代码。

public class XLW : IGamATIS
{
AxHvDeviceAx axHvDeviceAx1 = null;//从这里声明了变量
public XLW()
{
axHvDeviceAx1 = new AxHvDeviceAx();
}

public bool Open()
{

try
{
axHvDeviceAx1.RecvRecordFlag = 1;
axHvDeviceAx1.RecvSnapImageFlag = 1;
axHvDeviceAx1.RecvPlateImageFlag = 1;
axHvDeviceAx1.ConnectTo(IP);
Thread.Sleep(100);
int Res = axHvDeviceAx1.GetStatus(1);
if (Res == 1)
{
axHvDeviceAx1.OnReceivePlate += axHvDeviceAx1_OnReceivePlate;
return true;
}
else
{
LogHelper.SetSystemLog("连接设备失败:" + Res.ToString());
return false;
}
}
catch (Exception ex)
{
LogHelper.SetSystemLog("连接到设备异常:" + ex.ToString());
return false;
}
}
}


在open函数里执行axHvDeviceAx1.RecvRecordFlag = 1;这一句的时候就会报错(只要是操作的ocx控件就会报错)。
异常:此时无法调用“RecvRecordFlag”的属性 set。

大家有人处理过类库操作OCX相关的问题吗?小弟实在是无奈了
...全文
265 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjp1234airen4385 2016-05-19
  • 打赏
  • 举报
回复
你看看情况,有的控件放在窗口上和自己通过代码创建,创建代码不一样。 我遇到过一个,和你类似的问题,最后,是ocx还有一个单独createcontrol的方法,
  • 打赏
  • 举报
回复
引用 1楼为轮子而生 的回复:
项目的“生成”设置里,把目标平台改为“x86”试试
不行的。这不是平台的问题,我知道肯定需要使用其他设计模式,但是我没有入手
为轮子而生 2016-05-18
  • 打赏
  • 举报
回复
项目的“生成”设置里,把目标平台改为“x86”试试

110,535

社区成员

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

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

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