这两天在看halcon学习网上刘工录的视频,针对halcon和C#联合开发的一些坑做一些总结,我个人也做做笔记,不至于看完就忘记了。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
HsmartWindow 控件除了会调用halcondonet.dll外还会调用halcon.dll,如果程序根目录不存在halcon.dll,则会通过全局变量找到halcon mevtec目录去调用,这样是没有问题的;
如果根目录下存在halcon.dll,则会优先调用根目录下的文件,然后halcon.dll内部如果使用到HsmartWindow的功能,则还会调用一个Hcanvas.dll的文件,如果根目录下没有这个文件则会报错,程序编译后启动过程中报错,
报错内容为:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
HsmartWindow不支持Draw开头的函数,只能在Hwindow上面画,在执行Draw函数的时候,程序停在该函数位置,未点击鼠标右键确认Draw Region之前,程序会一直停留,此时再执行其他的Draw函数,就会导致在整个流程乱掉,避免这种情况的方法是在每个Draw函数之前都调用一次HalconApi.CancelDraw()函数,结束上次未完成的绘制。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------