开启左侧

C#调用C++写的Halcon算法dll传值demo程序

  [复制链接]
绝地武士 发表于 2020-2-29 21:23:39 | 显示全部楼层 |阅读模式
C++和C#里面的HObject和HTuple都是引用类型的,但是两个同样的HObject和HTuple却不能直接去转换,虽然类型名称一样,确是不一样的类型,C#里面的应该是基于C++做了二次封装的类型,C++里面的HTuple和HObject才是真正的原生类型,由于最近有部分同学问起,那么我就简单写了一个Demo分享给大家学习!

正式开始:
为了方便演示,我使用了Halcon12.0.0来进行开发,在我的解决方案里面有两个工程:Image和ImageTest
这两个工程分别是:
Image 是win32类型的dll,采用的是参数入栈协约为__stdcall约定!
ImageTest是C#的测试程序,很简单功能,就是从dll中读取一个图片名称并且显示到C#的图形界面上。

游客,本帖隐藏的内容需要积分高于 50 才可浏览,您当前积分为 0


完整版源代码分享下载:
Image.rar (12.61 MB, 下载次数: 117, 售价: 5 视觉币)


WuJJY 发表于 2020-3-1 18:47:24 | 显示全部楼层
请教一下,*ImgHandle = hv_SerializedItemHandle.I(); 这句抛异常了
Criss 发表于 2020-3-1 19:00:54 | 显示全部楼层

我用的Halcon12,你用的多少?这里提示要换成.H的属性去获取Handle!不过高版本可能不行
WuJJY 发表于 2020-3-1 19:14:14 | 显示全部楼层
Criss 发表于 2020-3-1 19:00
我用的Halcon12,你用的多少?这里提示要换成.H的属性去获取Handle!注意看提示 ...

我用的Halcon18哦,是的,我使用.H也就是Handle获得之后,也是无法传递和转换为int型传递呢,新手请多包涵
shuixin0412 发表于 2020-3-4 16:48:42 | 显示全部楼层
WuJJY 发表于 2020-3-1 19:14
我用的Halcon18哦,是的,我使用.H也就是Handle获得之后,也是无法传递和转换为int型传递呢,新 ...

18 无法int *Handle 交互,怎么解决呢!怎么去交互呢!
jasonyu 发表于 2020-9-7 11:35:22 | 显示全部楼层
请问大神,18以上的,如何转换呢, 貌似int 和 Handle无法转换啊,求大神赐教
Aeolus 发表于 2020-11-7 17:47:07 | 显示全部楼层
我也用的Halcon18哦,是的,我使用.H也就是Handle获得之后,无法正常运行
Aeolus 发表于 2020-11-7 17:51:14 | 显示全部楼层
换成.H 异常更多,我的5币就这样打水漂了
Aeolus 发表于 2020-11-7 18:04:16 | 显示全部楼层
Criss 发表于 2020-3-1 19:00
我用的Halcon12,你用的多少?这里提示要换成.H的属性去获取Handle!注意看提示 ...

哥,halcon18.05 的怎么用?请指教!谢谢。
rorypeck 发表于 2021-4-28 16:53:09 | 显示全部楼层
本帖最后由 rorypeck 于 2021-4-28 17:01 编辑

不错啊,可以实现,已测试dll的生成
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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