这个错误是勇哥手里的代码引用halcon18后出现的。
Help file for package 'system' in directory 'E:\Program Files\MVTec\HALCON-18.11-Progress\help' is corrupt(error=8000). Please check the correct setting of HALCONROOT
以前勇哥写过一篇贴子:
这一次勇哥是想把基于halcon10的代码换成基于halcon18的。按上面贴子的步骤操作后,仍然出现了这个报错。
网上看到一贴讲类似主题的贴子,这位兄弟一句话提醒了我。
它说要把halcon的和谐文件放到bin目录下。其实真是这样的,我这版halcon18的和谐文件就是halcon.dll,将它放在程序的bin目录下就OK!!!
下面引用一下这位兄弟的文章:
简介:
工程使用HalconDotNet.dll,工程首先引用或者放在exe同级目录下面。特别是当前工程生成的exe放在其它电脑使用时,会经常报错。错误的原因一版是HalconDotNet的版本和当前系统所使用的版本或者工程的目标平台不同一。需要考虑在哪个系统下安装的哪个版本的Halcon,工程编译时是生成哪个系统可用的目标文件,即系统 、 Halcon版本和工程配置三者之间的联系 。例如在x86系统安装的Halcon,引用dll,生成exe后,放在另一台的x64系统使用。报错如下图,如有类似报错,也可参考处理。
解决:
1. Halcon 10.0的dll
如果你刚开发时引用的是Halcon 10.0的dll,在其它电脑用时,请在C:\Program Files\MVTec\HALCON-10.0放入下面的文件,license要放入license.dat或者放在exe目录和HalconDotNet.dll放在一起。如果还有报错,根据报错提示,例如把HALCON-10.0文件夹更改为Halcon。
2.Halcon 12.0的dll
如果你引用的是Halcon 12.0的dll,在其它电脑使用时,只需把使用的dll放在exe目录下。
注意:
不管使用哪个版本的Halcon,32位和64位的dll不要混用。否则可能会有“Could not create a new operator instance for id 1319”,类似的报错,如下图所示。
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

