开启左侧

VS2015 C#与Halcon 13.0 环境整合

[复制链接]
Criss 发表于 2016-11-18 17:21:18 | 显示全部楼层 |阅读模式
1.打开VS2015,新建Windows 窗体应用程序
QQ截图20161118165429.png
2.打开“解决方案资源管理器”找到“引用”菜单,右键“添加引用...”
QQ截图20161118165518.png
3.在“引用管理器”里面,点击“浏览”
QQ截图20161118165542.png
选择Halcon 13.0根目录下..\MVTec\HALCON-13.0\bin\dotnet35\halcondotnet.dll
QQ截图20161118165558.png
确保加入成功
QQ截图20161118165732.png
4.这个时候会引用菜单下多了一个halcondotnet的库引用
QQ截图20161118172302.png
5.继续添加halcon的控件对象,找到视图-》工具栏,在控件里面任意地方点击右键选择“选择项”
QQ截图20161118165821.png
6.打开“选择工具项”界面,点击“浏览”选择Halcon 13.0根目录下..\MVTec\HALCON-13.0\bin\dotnet35\halcondotnet.dll
QQ截图20161118165834.png
成功后可以看到工具栏里面新加了两个控件
QQ截图20161118165856.png
7.选择HWindowControl控件拖拽到对话框编程窗口即可
QQ截图20161118165911.png
8.然后在对话框类里面初始化加载的函数中添加以下内容用于获取窗口句柄
QQ截图20161118171449.png

9.添加断点,查看HalconID的值是200000就对了!(Halcon13)
QQ截图20161118171551.png


 楼主| Criss 发表于 2016-11-18 17:28:55 | 显示全部楼层
测试下我们的功能是否正常了!
添加一个按钮,并且添加他的事件代码:
  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             HObject Image;
  4.             HTuple Width, Height;
  5.             HOperatorSet.GenEmptyObj(out Image);

  6.             HOperatorSet.ReadImage(out Image, "clip");
  7.             HOperatorSet.GetImageSize(Image, out Width, out Height);
  8.             HOperatorSet.SetPart(m_WindowHandle, 0, 0, Height - 1, Width - 1);
  9.             HOperatorSet.DispObj(Image, m_WindowHandle);
  10.             Image.Dispose();
  11.         }
复制代码

然后编译运行,点击显示图像,看到下面画面,恭喜你,成功了!

QQ截图20161118172810.png
yeting0117 发表于 2017-4-6 19:09:13 | 显示全部楼层
System.DllNotFoundException”类型的未经处理的异常在 halcondotnet.dll 中发生

其他信息: 无法加载 DLL“halcon”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。


什么问题啊?
 楼主| Criss 发表于 2017-4-6 22:09:16 | 显示全部楼层
yeting0117 发表于 2017-4-6 19:09
System.DllNotFoundException”类型的未经处理的异常在 halcondotnet.dll 中发生

其他信息: 无法加载 DLL ...

提示没有dll,你是不是没有引用托管的动态库?或者没有拷贝动态库到运行目录下。
dh032271 发表于 2017-8-22 18:59:41 | 显示全部楼层
引用和DLL都调用正确
查看HalconID的值是0
然后 报错,信息如下
System.DllNotFoundException”类型的未经处理的异常在 halcondotnet.dll 中发生
其他信息: 无法加载 DLL“halcon”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
 楼主| Criss 发表于 2017-10-19 15:32:22 | 显示全部楼层
dh032271 发表于 2017-8-22 18:59
引用和DLL都调用正确
查看HalconID的值是0
然后 报错,信息如下

确认下你的平台版本是不是一样的,比如都是x86或者x64,同时检查你的程序根目录是否存在halcondotnet.dll文件,以及检查你的Halcon安装目录是否存在中文路径等等。
已经找到真正的解决方案:https://www.51halcon.com/thread-997-1-1.html
Tsank 发表于 2019-4-4 10:07:47 | 显示全部楼层
没报错,但不显示图片咋整?
Tsank 发表于 2019-4-4 10:44:44 | 显示全部楼层
Tsank 发表于 2019-4-4 10:07
没报错,但不显示图片咋整?

已解决
FinalWhale 发表于 2019-5-9 10:07:44 | 显示全部楼层

同遇到这个问题,请问你是怎么解决的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表