Foxtable(狐表)用户栏目专家坐堂 → “UserCode”的类型初始值设定项引发异常


  共有3629人关注过本帖树形打印复制链接

主题:“UserCode”的类型初始值设定项引发异常

帅哥哟,离线,有人找我吗?
nxdx112
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:393 积分:3571 威望:0 精华:0 注册:2016/11/12 18:42:00
“UserCode”的类型初始值设定项引发异常  发帖心情 Post By:2018/9/27 7:51:00 [只看该作者]

借用狐友的拍照制作的此拍照程序,当有摄像头时没有问题,但当程序无法检测到摄像头设备或如无设备就会报错,能有办法解决吗?请老师帮助。
“UserCode”的类型初始值设定项引发异常。详细信息-.NET Framework 版本:2.0.50727.8793
Foxtable 版本:2018.9.9.1
错误所在事件:窗口,拍照,AfterLoad
详细错误信息:
“UserCode”的类型初始值设定项引发异常。
No devices of the category

摄像头代码如何加入判断,当没有摄像头时候就不拍照,当有摄像头时候才拍照

try
    Dim cmr As New DCap.Filters()
catch ex As exception
    msgbox("没有设备")
End try
不起作用,也不知道放到哪里,请老师帮忙!


[此贴子已经被作者于2018/9/27 14:10:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/27 9:27:00 [只看该作者]

1、全局代码

 

Public _Cams As DCap.Filters = New DCap.Filters()

 

改成

 

Public _Cams As DCap.Filters

 

2、afterLoad事件

 

try
    Dim cmr As New DCap.Filters()
catch ex As exception
    msgbox("没有设备")
    'Return
    e.Form.close
End try

Dim camList As WinForm.ComboBox = e.Form.Controls("CamList")
'设置控件大小
Functions.Execute("SetCamBoxSize",e.Form,True)
'设置移动条
e.Form.Controls("BarX").Value = e.Form.Controls("LineBox").Left - e.Form.Controls("CamViewBox").Left
e.Form.Controls("BarY").Value = e.Form.Controls("CamViewBox").Height - (e.Form.Controls("LineBox").Top - e.Form.Controls("CamViewBox").Top)
e.Form.Controls("BarW").Value = e.Form.Controls("LineBox").Width
e.Form.Controls("BarH").Value = e.Form.Controls("CamViewBox").Height - e.Form.Controls("LineBox").Height
'显示拍照框尺寸
e.Form.Controls("BoxW").Value = e.Form.Controls("LineBox").Width
e.Form.Controls("BoxH").Value = e.Form.Controls("LineBox").Height
_lVars(0) = e.Form.Controls("AutoTake").Checked
'设置保存路径
If _sVars(0) <> ""
    e.Form.Controls("FileName").Value = _sVars(0)
End If
'获取摄像头列表
Functions.Execute("GetCams")
'显示摄像头列表
Dim i As Integer
camList.Items.Clear
For i=0 To _CamList.Count - 1
    camList.Items.Add(_CamList(i))
Next
'默认选中第一个摄像头
If _CamList.Count > 1 And _CamIndex < 1
    _CamIndex = 1
End If
camList.SelectedIndex = _CamIndex
'激活预览
If _CamList.Count > 0
    Functions.Execute("SetCamView",_CamIndex,e.Form.Controls("CamView"))
Else
    MessageBox.Show("未检测摄像头,请先连接摄像头!","警告")
    e.Form.Close()
End If
'启动定时器
_iVars(0) = 0
e.Form.TimerEnabled = True


 回到顶部
帅哥哟,离线,有人找我吗?
zhouhai39
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1082 威望:0 精华:0 注册:2017/11/3 1:21:00
  发帖心情 Post By:2019/1/9 1:01:00 [只看该作者]

谢谢!

这样改过后旧问题解决了,但又提示了新问题:引用了未指定对象
[此贴子已经被作者于2019/1/13 23:53:19编辑过]

 回到顶部