以文本方式查看主题 - 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=153731) |
-- 作者:13568958298 -- 发布时间:2020/8/20 18:19:00 -- OpenQQ 关于OpenQQ 宝典“5.11.5一个消息推送示例”与帮助文档中“自定义信息提示窗口”做法不同,不知道该按照哪个方法来做?两个方法都试过,可是都有问题:消息能发送,接收方也能接收到消息,可是窗口却弹不出来?
|
-- 作者:有点蓝 -- 发布时间:2020/8/20 20:05:00 -- 贴出您写的代码 |
-- 作者:13568958298 -- 发布时间:2020/8/20 21:18:00 -- 1、全局代码:Default Public fhs As New List(of String) (没有使用Var变量) 2、发货单“上报”按钮设计 Dim r As Row = Tables("办公用品").Current r.Save() QQClient.Send("财务科.张三","+@|" & r("_Identify") & "|" & r("事项及依据") & "|" & User.Name) msgbox(r("事项及依据")) (该项显示正常) *审核后无需反馈信息,所以审核按钮未写代码 3、OpenQQ客户端MessageReceived编写代码 (这段代码出错比较严重,已修改)
4、设计了一个窗口 名为“审核申请”如下: "查看”按钮代码设计: DataTables("办公用品").Save() \'接下来要根据主键查找,必须先保存,因为只有保存后新增行的主键才是有效值. Dim id As String = e.Form.Controls("Label2").Text Dim dr As DataRow = DataTables("办公用品").Find("[_Identify] = " & id) If dr Is Nothing Then DataTables("办公用品").AppendLoad("[_Identify] = " & id) dr = DataTables("办公用品").Find("[_Identify] = " & id) Else dr.Load() End If If dr IsNot Nothing Then Dim wz As Integer = Tables("办公用品").FindRow(dr) If wz < 0 Then \'如果因为筛选导致此送货单不可见 Tables("办公用品").Filter = "" wz =Tables("办公用品").FindRow(dr) End If If wz >= 0 Then Tables("办公用品").Position = wz Forms("办公用品").Open() End If End If e.Form.Close()
5、在项目事件Systemldle中设计代码:
If fhs.Count > 0 AndAlso Forms("审核申请").Opened = False Then Dim fhs() As String = fhs(0).Split("|") fhs.RemoveAt(0) With Forms("审核申请") .Open() .Controls("Label1").Text = pts(2) & "新增申请单" & fhs(1) & ",请审核!" .Controls("Label2").Text = pts(0) \'将发货单主健设置为Label2的标题 End With End If [此贴子已经被作者于2020/8/20 23:00:15编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/8/20 21:30:00 -- 没看到有给全局变量fhs赋值的地方,也就是说项目事件Systemldle中的代码判断【If fhs.Count > 0 】永远都不会成立,也就不会执行打开窗口的代码 |
-- 作者:13568958298 -- 发布时间:2020/8/20 21:54:00 -- 客户端测试,代码组合正常
接收端,测试代码正常,可没有打开“审核申请”窗口,也没有打开“办公用品”窗口
|
-- 作者:有点蓝 -- 发布时间:2020/8/20 22:06:00 -- 并不是把变量名称改为fhs就可以,您根本都没有搞清楚这个全局代码是干嘛用的。建议仔细理解一下帮助里是怎么使用fhs这个变量:http://www.foxtable.com/webhelp/topics/3054.htm 再说了在事件里这样用【Dim fhs() As String = msg.Split("#")】,会重新定义个新的同名变量,在事件里会取代全局代码里的同名变量,这样全局代码里的fhs就不会用到,同样永远不会有任何值 |
-- 作者:有点蓝 -- 发布时间:2020/8/20 22:13:00 -- 另外您代码里发送的消息内容格式是:QQClient.Send("财务科.张三","+@|" & r("_Identify") & "|" & r("事项及依据") & "|" & User.Name) 但是MessageReceived事件里判断的是"U#"、"A#"这些,完全风牛马不相及,根本都处理不到上面发送的消息 抄帮助的代码的时候,不要随便把几个帮助的代码抄到一起混用,虽然好像里面用到一些相同的功能,但是处理的逻辑和用法是完全不一样的,不是随随便便合并到一起就能使用。先按照一个帮助的用法,分别做通了,在考虑理解合并其它用法
|
-- 作者:13568958298 -- 发布时间:2020/8/20 22:48:00 -- 看到了,谢谢!我马上去改 |