设置首页收藏本站
开启左侧

WPF与HWindowControlWPF的问题

[复制链接]
mazhipeng 发表于 2017-11-22 16:23:14 | 显示全部楼层 |阅读模式
请问我在用wpf调用HWindowControlWPF的时候得出HWindowControlWPF.HalconID的值时出来-1,导致后面程序报错,而在winform里面HWindowControl.HalconID出来的是3600,球高手指点一下
微信图片_20171122161441.png
图为wpf显示出的值以及报错
微信图片_20171122162213.png
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Criss 发表于 2017-11-22 16:59:45 | 显示全部楼层
有几种情况会出现没窗口句柄的情况:
1.如果为-1,这种情况基本上就是没有加载到halcon.dll和halcondotnet.dll相关的运行库,一般把相关dll放到程序根目录即可。
2.如果为0,这种情况是由于环境变量PATH中没有添加HALCON路径导致,一般出现在多版本交替情况下,导致路径没有更新过去,导致Halcon版本对应不上;

综上,运行不出来,基本上就是环境配置有问题,为了不麻烦,建议安装Halcon的runtime版本,或者直接安装Halcon,需要主要PATH里面必须有HALCON的路径,也就是类似“D:\Program Files\MVTec\HALCON-12.0\bin\x86sse2-win32”这样的路径,则不需要任何dll他会自动加载和配置的。
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| mazhipeng 发表于 2017-11-22 17:06:45 | 显示全部楼层
51Halcon 发表于 2017-11-22 16:59
有几种情况会出现没窗口句柄的情况:
1.如果为-1,这种情况基本上就是没有加载到halcon.dll和halcondotnet. ...

我用的是wpf,用的是halcondotnetxl.dll的运行库
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Criss 发表于 2017-11-22 17:10:45 | 显示全部楼层
mazhipeng 发表于 2017-11-22 17:06
我用的是wpf,用的是halcondotnetxl.dll的运行库

你需要拷贝halcon.dll到你们的软件运行目录下面。
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| mazhipeng 发表于 2017-11-22 17:41:33 | 显示全部楼层
51Halcon 发表于 2017-11-22 17:10
你需要拷贝halcon.dll到你们的软件运行目录下面。

试过,也不行
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Criss 发表于 2017-11-22 21:51:20 | 显示全部楼层
代码打包发送到:system@www.51halcon.com 为你检查下!
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| mazhipeng 发表于 2017-11-23 08:56:25 | 显示全部楼层
51Halcon 发表于 2017-11-22 21:51
代码打包发送到:system@www.51halcon.com 为你检查下!

已发送,请查收
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| mazhipeng 发表于 2017-11-23 09:24:53 | 显示全部楼层
51Halcon 发表于 2017-11-22 21:51
代码打包发送到:system@www.51halcon.com 为你检查下!

在线等你回复:)
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| mazhipeng 发表于 2017-11-23 11:26:28 | 显示全部楼层
下面是XAML代码
  1. <dx:DXWindow
  2.              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.              xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"     
  5.              dx:ThemeManager.ThemeName="MetropolisLight"
  6.              xmlns:HalconDotNet="clr-namespace:HalconDotNet;assembly=halcondotnetxl" x:Name="Main" x:Class="Demo_Test.MainWindow"
  7.              Title="MainWindow" Height="600" Width="800" WindowStartupLocation="CenterScreen" Loaded="Main_Loaded">
  8.     <Grid ShowGridLines="True">

  9.         <Grid.RowDefinitions>
  10.             <RowDefinition Height="200"/>
  11.             <RowDefinition Height="200"/>
  12.             <RowDefinition/>
  13.         </Grid.RowDefinitions>
  14.         <Grid.ColumnDefinitions>
  15.             <ColumnDefinition Width="260"/>
  16.             <ColumnDefinition Width="260"/>
  17.             <ColumnDefinition/>
  18.         </Grid.ColumnDefinitions>
  19.         
  20.         <HalconDotNet:HWindowControlWPF x:Name="HWindowControlWPF1" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="250" Height="200" Margin="0,0,0,0"/>
  21.         
  22.         <HalconDotNet:HWindowControlWPF x:Name="HWindowControlWPF2" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Top" Width="250" Height="200" Margin="0,0,0,0"/>
  23.       
  24.         
  25.         <Label x:Name="Label1" Grid.Column="0" Content="相机01" Margin="0,0,0,0" Grid.Row="1" VerticalAlignment="Top" Width="50"/>
  26.         <Label x:Name="Label2" Grid.Column="1" Content="相机02" Margin="0,0,0,0" Grid.Row="1" VerticalAlignment="Top" Width="50"/>
  27.         
  28.         <Button x:Name="btnRun" Content="运行" HorizontalAlignment="Left" VerticalAlignment="Top" Width="76" RenderTransformOrigin="0.942,14.761" Margin="2,63,0,-59" Grid.Row="1" Click="btnRun_Click"/>
  29.         <Button x:Name="btnTriggerModel" Content="触发模式" HorizontalAlignment="Left" Margin="180,63,0,-37" Grid.Row="1" VerticalAlignment="Top" Width="75" Click="btnTriggerModel_Click"/>
  30.         
  31.     </Grid>
  32. </dx:DXWindow>
复制代码

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Criss 发表于 2017-11-23 13:11:40 | 显示全部楼层
QQ截图20171123131019.png
我电脑是12.0.3的库,我替换了halcondotnet.dll,经过测试HalconID是有值的,就是3600,下一个就是3601!
所以应该是你的Halcon环境的问题!请仔细排除下问题,或者重新安装Halcon 12版本的就可以了!
如果只是直接拷贝某些dll进去的话可能导致dll依赖不全导致运行出错!
建议:配置系统环境变量:PATH
在里面检测下是否存在你的Halcon的运行目录,比如:
  1. %HALCONROOT%\bin\%HALCONARCH%;%HALCONROOT%\FLEXlm\%HALCONARCH%;
复制代码
QQ截图20171123131613.png
设置完成以后请重新启动计算机!前提是:你系统里面已经有环境变量:HALCONROOT 和 HALCONARCH

点评

是在load事件里图像控件没有加载好,所以图像控件的halconID为-1  发表于 2017-11-23 15:07
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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