以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  拍照异常  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151865)

--  作者:nxqtxwz
--  发布时间:2020/7/6 11:41:00
--  拍照异常
请问老师,我的拍照模块在别的电脑正常,但在新买的笔记本电脑上不正常,显示下面的提示:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:窗口,拍照窗口,AfterLoad
详细错误信息:
“UserCode”的类型初始值设定项引发异常。
未能加载文件或程序集“DirectX.Capture, Version=1.0.5047.29294, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。

AfterLoad中的代码是这样的:

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

--  作者:有点蓝
--  发布时间:2020/7/6 11:57:00
--  
DirectX.Capture.dll有没有复制到foxtable安装目录?如果是发布后的程序,看看publish目录里有没有这个文件
--  作者:nxqtxwz
--  发布时间:2020/7/6 14:27:00
--  
DirectX.Capture.dll已复制到foxtable安装目录,发布后的程序publish目录里也有,在笔记本电脑上运行源代码可以拍照,运行发布后的程序不行。

--  作者:有点蓝
--  发布时间:2020/7/6 14:35:00
--  
这个提示就是找不到,DirectX.Capture.dll,确定是在publish目录里有,另外还有一个DShowNET.dll