Foxtable(狐表)用户栏目专家坐堂 → [求助]自定义信息提示窗口


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

主题:[求助]自定义信息提示窗口

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


加好友 发短信
等级:幼狐 帖子:90 积分:1202 威望:0 精华:0 注册:2015/4/25 9:42:00
[求助]自定义信息提示窗口  发帖心情 Post By:2016/5/26 16:35:00 [只看该作者]

qq发送消息正常,使用qqclient发生弹窗也没有问题,全程按照帮助设置代码,但是审核者无法弹出提示窗口,不知道问题出在哪里,请指教

1.全局代码
Public fhs As New List(of String)

2.窗口保存按钮
Dim r As Row = Tables("生产计划").Current
Dim p As String = IIF(r.DataRow.RowState = DataRowState.Added, "A#", "U#")
r.Save()
Dim msg As String = p & "生产计划" & "#" & r("_Identify")
For Each bd As QQBuddy In QQClient.Buddies
    If bd.Online Then
        QQClient.Send(bd.name, msg)
    End If
Next

QQClient.Send("管理员","+@|" & r("_Identify") & "|" & r("单号") & "|" & User.Name)

3.表格审核列
Dim r As Row  = Tables("生产计划").Current
r.Save()
QQClient.Send("开发者","+@|" & r("_Identify") & "|" & r("单号") & "|" & User.Name)

4.OpenQQ客户端的MessageReceived事件
Dim ptls() As String  = e.Message.Split("|")
If ptls.Length = 4 AndAlso ptls(0) = "+@" '如果是申请审核消息
    fhs.Add(ptls(1) & "|" & ptls(2) & "|" & ptls(3)) '将主健?单号和制单人合成为一个字符串存储在集合中
ElseIf ptls.Length = 3 AndAlso ptls(0) = "-@" '如果是审核通过消息
    PopMessage("生产订单" & ptls(1) & "已由" & ptls(2) & "审核通过!") 
    Dim dr As DataRow = DataTables("生产计划").Find("单号 = '" & ptls(1) & "'")
    If dr IsNot Nothing Then
        dr.Load
    End If
End If

5.新建窗口“审核申请”,查看按钮设置为
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()

6.SystemIdle
If fhs.Count > 0 AndAlso Forms("审核申请").Opened = False Then
    Dim ptls() As String = fhs(0).Split("|")
    fhs.RemoveAt(0)
    With Forms("审核申请")
        .Open()
        .Controls("Label1").Text = ptls(2) & "新增生产订单" & ptls(1) & ",请审核!"
        .Controls("Label2").Text = ptls(0) '将发货单主健设置为Label2的标题
    End With
End If



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/26 16:52:00 [只看该作者]

ReceivedMessage 加入msgbox,看是否触发事件代码。

 

其余各个事件,也加入msgbox弹出值看看是否正确。


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


加好友 发短信
等级:幼狐 帖子:90 积分:1202 威望:0 精华:0 注册:2015/4/25 9:42:00
  发帖心情 Post By:2016/5/26 18:27:00 [只看该作者]

systemIdle和receivemessage均无法触发

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/26 20:09:00 [只看该作者]

要理解这句代码

 

QQClient.Send("管理员","+@|" & r("_Identify") & "|" & r("单号") & "|" & User.Name)

 

红色那里,必须是你的好友,才能给他发信息,而且一般是 生产部.张三 这样的。


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


加好友 发短信
等级:幼狐 帖子:90 积分:1202 威望:0 精华:0 注册:2015/4/25 9:42:00
  发帖心情 Post By:2016/5/26 20:26:00 [只看该作者]

默认所有员工互为好友,尝试过使用上述的XXX.管理员的名字没有反应,编辑保存按钮为以下三行,只有测试1的信息被收到并弹出窗口

QQClient.Send("管理员","+@|" & r("_Identify") & "|" & r("单号") & "|" & User.Name,True)
QQClient.SendChatMessage("管理员","{!}测试1")
QQClient.Send("管理员","{!}测试2")

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/26 20:39:00 [只看该作者]

 换一个好友发送测试。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/26 20:40:00 [只看该作者]

发送不成功,肯定是用户名没有设置对,或者是之间不是好友。


 回到顶部