以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- openQQ窗口权限问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96551) |
-- 作者:luckbetter333 -- 发布时间:2017/2/23 9:57:00 -- openQQ窗口权限问题 按独占式编辑帮助文件给两个窗口设openqq权限,代码都一样,都放了三个表,也都是一个模式。结果一个没问题,一个提示“未将对象引用设置到对象”,代码如下,代码放在打开窗口的按钮上 Dim r As Row = Tables("发货表").Current If QQClient.Ready = False Then \'如果QQClient没有启动,则禁止编辑 PopMessage("必须启动QQClient,才能编辑此表数据!","提示",PopIconEnum.Infomation,5) Return End If If r.DataRow.RowState <> DataRowState.Added Then \'如果不是新增行 Dim key As String = "发货表" & ":" & r("_Identify") If tbrk.Contains(key) = False Then Dim msg = QQClient.SendWait("?#" & Key & "#?",5) \'向服务器发送请求编辑信息 If msg = "OK" Then \'如果服务器返回OK tbrk.Add(key) \'在本地登记正在编辑此行 ElseIf msg > "" Then \'否则显示服务器返回的信息,并取消编辑 PopMessage("无法编辑此行,因为:" & vbcrlf & msg ,"提示",PopIconEnum.Infomation,5) Return Else \'如果服务器没有返回信息,则取消编辑 PopMessage("因服务器无响应,无法编辑此行!" ,"提示",PopIconEnum.Infomation,5) Return End If End If End If Dim r1 As Row = Tables("发货表.发货订单表").Current If QQClient.Ready = False Then \'如果QQClient没有启动,则禁止编辑 PopMessage("必须启动QQClient,才能编辑此表数据!","提示",PopIconEnum.Infomation,5) Return End If If r1.DataRow.RowState <> DataRowState.Added Then \'如果不是新增行 Dim key As String = "发货表.发货订单表" & ":" & r1("_Identify") If tbrk.Contains(key) = False Then Dim msg = QQClient.SendWait("?#" & Key & "#?",5) \'向服务器发送请求编辑信息 If msg = "OK" Then \'如果服务器返回OK tbrk.Add(key) \'在本地登记正在编辑此行 ElseIf msg > "" Then \'否则显示服务器返回的信息,并取消编辑 PopMessage("无法编辑此行,因为:" & vbcrlf & msg ,"提示",PopIconEnum.Infomation,5) Return Else \'如果服务器没有返回信息,则取消编辑 PopMessage("因服务器无响应,无法编辑此行!" ,"提示",PopIconEnum.Infomation,5) Return End If End If End If Dim r2 As Row = Tables("发货明细表").Current If QQClient.Ready = False Then \'如果QQClient没有启动,则禁止编辑 PopMessage("必须启动QQClient,才能编辑此表数据!","提示",PopIconEnum.Infomation,5) Return End If If r2.DataRow.RowState <> DataRowState.Added Then \'如果不是新增行 Dim key As String = "发货明细表" & ":" & r2("_Identify") If tbrk.Contains(key) = False Then Dim msg = QQClient.SendWait("?#" & Key & "#?",5) \'向服务器发送请求编辑信息 If msg = "OK" Then \'如果服务器返回OK tbrk.Add(key) \'在本地登记正在编辑此行 ElseIf msg > "" Then \'否则显示服务器返回的信息,并取消编辑 PopMessage("无法编辑此行,因为:" & vbcrlf & msg ,"提示",PopIconEnum.Infomation,5) Return Else \'如果服务器没有返回信息,则取消编辑 PopMessage("因服务器无响应,无法编辑此行!" ,"提示",PopIconEnum.Infomation,5) Return End If End If End If |
-- 作者:有点蓝 -- 发布时间:2017/2/23 10:08:00 -- Dim r As Row = Tables("发货表").Current if r isnot nothing then \'其它2个表一样都判断一下 If QQClient.Ready = False Then \'如果QQClient没有启动,则禁止编辑
PopMessage("必须启动QQClient,才能编辑此表数据!","提示",PopIconEnum.Infomation,5)
Return
End If
If r.DataRow.RowState <> DataRowState.Added Then \'如果不是新增行
Dim key As String = "发货表" & ":" & r("_Identify")
If tbrk.Contains(key) = False Then
Dim msg = QQClient.SendWait("?#" & Key & "#?",5) \'向服务器发送请求编辑信息
If msg = "OK" Then \'如果服务器返回OK
tbrk.Add(key) \'在本地登记正在编辑此行
ElseIf msg > "" Then \'否则显示服务器返回的信息,并取消编辑
PopMessage("无法编辑此行,因为:" & vbcrlf & msg ,"提示",PopIconEnum.Infomation,5)
Return
Else \'如果服务器没有返回信息,则取消编辑
PopMessage("因服务器无响应,无法编辑此行!" ,"提示",PopIconEnum.Infomation,5)
Return
End If
End If
End If
End If |
-- 作者:luckbetter333 -- 发布时间:2017/2/23 10:24:00 -- 还是同样的错误提示 |
-- 作者:有点蓝 -- 发布时间:2017/2/23 10:30:00 -- tbrk变量在什么地方定义的,初始化了没有?改后的这个事件完整代码贴出来 |
-- 作者:luckbetter333 -- 发布时间:2017/2/23 10:51:00 -- 在全局代码定义的 我就是按照帮助文件设置的,之前设置的表,都好用,这次设置的窗口,前面表的我也留着,窗口的我就按照帮助文件在打开窗口的按钮放的代码,整个代码除了你刚才让我加的,其他都没变。三个r我都加了。
|
-- 作者:luckbetter333 -- 发布时间:2017/2/23 10:55:00 -- 好用了,这次提示的是afterload的错误,不是click。 |
-- 作者:有点色 -- 发布时间:2017/2/23 11:00:00 -- 提示什么错误?AfterLoad事件代码是什么? |