以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]应用程序中发生了无法处理的异常 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135482) |
-- 作者:fczhaobo -- 发布时间:2019/5/27 18:38:00 -- [求助]应用程序中发生了无法处理的异常 应用程序中发生了无法处理的异常 Dim kqjip As String=e.Form.Controls("IP").value Dim kqjsn As String Dim axCZKEM1 As New zkemkeeper.CZKEM Dim bIsConnected = axCZKEM1.Connect_Net(kqjip, "4370") \'测试机器连接是否正常 If bIsConnected = False Then MessageBox.show("匹配连接失败,请检查考勤机是否通电并且IP地址是否设置正确!" & kqjip) e.Form.Controls("IP").value="" Else axCZKEM1.GetSerialNumber (0,kqjSN) e.Form.Controls("序列号").value=kqjsn e.Form.Controls("状态").value="正常" MessageBox.Show("IP地址为: " & kqjip & " 的考勤机匹配登记成功,可以正常使用!", "提示") _KqjIP = e.Form.Controls("IP").value \'考勤机IP _KqjSN = e.Form.Controls("序列号").value \'考勤机SN _KqjFX = e.Form.Controls("分校列表").value \'考勤机所属分校 _KqjFXBH = e.Form.Controls("分校编号").value \'考勤机所属分校 _KqjZT = "正常" \'考勤机当前状态 Registry.SetValue("HKEY_CURRENT_USER\\Software\\YfshErp","kqjip",_KqjIP) Registry.SetValue("HKEY_CURRENT_USER\\Software\\YfshErp","kqjsn",_KqjSN) Registry.SetValue("HKEY_CURRENT_USER\\Software\\YfshErp","kqjfx",_Kqjfx) Registry.SetValue("HKEY_CURRENT_USER\\Software\\YfshErp","kqjfxbh",_Kqjfxbh) Registry.SetValue("HKEY_CURRENT_USER\\Software\\YfshErp","kqjzt",_Kqjzt) e.Form.Close End If 只要是加上“ e.Form.Close” 这句代码就会报错,不加不行,必须关掉这个窗口.
|
-- 作者:fczhaobo -- 发布时间:2019/5/27 18:43:00 -- |
-- 作者:有点蓝 -- 发布时间:2019/5/27 19:37:00 -- 代码放在哪个事件的? |
-- 作者:fczhaobo -- 发布时间:2019/5/28 9:01:00 -- TextBox 的ValueChanged中…… |
-- 作者:有点甜 -- 发布时间:2019/5/28 10:27:00 -- 你的beforeclose、afterclose事件,写了什么代码?
你这个窗口是模式窗口吗?通过什么方式打开窗口的?贴出对应事件代码。 |
-- 作者:fczhaobo -- 发布时间:2019/5/28 20:28:00 -- 1、beforeclose、afterclose事件,没有代码。 |
-- 作者:有点蓝 -- 发布时间:2019/5/28 20:32:00 -- 上传具体实例测试 |
-- 作者:fczhaobo -- 发布时间:2019/5/28 20:32:00 -- 1、beforeclose、afterclose事件,没有代码。 2、窗口是模式窗口。 3\\通过菜单打开的窗口. 窗口表事件 窗口与控件事件 考勤机注册登记_AfterLoad MessageBox.show("考勤机注册登记前,请确保设备接通电源并连接网络!","警告!",MessageBoxButtons.OK,MessageBoxIcon.Warning) If FileSys.FileExists("C:\\Windows\\System32\\zkemkeeper.dll") =False Then Dim Proc As New Process \'定义一个新的Process Proc.StartInfo.FileName = ProjectPath & "\\SDK x86\\Register_SDK.bat" \'指定要打开的文件 proc.StartInfo.WorkingDirectory = ProjectPath & "\\Attachments\\" Proc.Start() End If \'Dim jqlb As WinForm.ComboBox = e.Form.Controls("机器列表") \'Dim kqjip As WinForm.TextBox = e.Form.Controls("IP") \'Dim kqjsn As WinForm.TextBox = e.Form.Controls("序列号") Dim fxlb As WinForm.ComboBox = e.Form.Controls("分校列表") If _usergroup.Contains("管理员组") Then fxlb.ComboList="所有校区|" & DataTables("分校").SQLGetComboListString("分校名称") Else fxlb.ComboList = _Userfxlb End If If _kqjIP <>"" Then fxlb.value=_kqjfx End If 考勤机注册登记_IP_ValueChanged Dim kqjip As String=e.Form.Controls("IP").value Dim kqjsn As String Dim axCZKEM1 As New zkemkeeper.CZKEM Dim bIsConnected = axCZKEM1.Connect_Net(kqjip, "4370") \'测试机器连接是否正常 If bIsConnected = False Then MessageBox.show("匹配连接失败,请检查考勤机是否通电并且IP地址是否设置正确!" & kqjip) e.Form.Controls("IP").value="" Else axCZKEM1.GetSerialNumber (0,kqjSN) e.Form.Controls("序列号").value=kqjsn e.Form.Controls("状态").value="正常" MessageBox.Show("IP地址为: " & kqjip & " 的考勤机匹配登记成功,可以正常使用!", "提示") _KqjIP = e.Form.Controls("IP").value \'考勤机IP _KqjSN = e.Form.Controls("序列号").value \'考勤机SN _KqjFX = e.Form.Controls("分校列表").value \'考勤机所属分校 _KqjFXBH = e.Form.Controls("分校编号").value \'考勤机所属分校 _KqjZT = "正常" \'考勤机当前状态 Registry.SetValue("HKEY_CURRENT_USER\\Software\\YfshErp","kqjip",_KqjIP) Registry.SetValue("HKEY_CURRENT_USER\\Software\\YfshErp","kqjsn",_KqjSN) Registry.SetValue("HKEY_CURRENT_USER\\Software\\YfshErp","kqjfx",_Kqjfx) Registry.SetValue("HKEY_CURRENT_USER\\Software\\YfshErp","kqjfxbh",_Kqjfxbh) Registry.SetValue("HKEY_CURRENT_USER\\Software\\YfshErp","kqjzt",_Kqjzt) e.Form.Close End If 考勤机注册登记_分校列表_ValueChanged Dim fxlb As WinForm.ComboBox = e.Form.Controls("分校列表") If fxlb.value Is Nothing Or fxlb.value="所有校区" Then MessageBox.show("请选择需要添加设备的分校!") Return End If e.Form.Controls("分校编号").value=DataTables("分校").SQLFind("分校名称=\'" & fxlb.value & "\'")("分校编号") e.Form.Controls("登记人").value=_username e.Form.Controls("登记日期").value=Functions.Execute("服务器时间").Today |
-- 作者:有点蓝 -- 发布时间:2019/5/28 21:11:00 -- 嗯,我这边也没有设备测试。 如果ValueChanged事件用不了,就只能添加一个按钮,点击按钮关闭窗口
|
-- 作者:有点甜 -- 发布时间:2019/5/29 10:00:00 --
贴出打开窗口的对应代码
|