以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  qq客户端报错,停止运行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92839)

--  作者:ljh29206
--  发布时间:2016/11/14 17:42:00
--  qq客户端报错,停止运行
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.7.29.1
错误所在事件:IMServer异步接收回调过程
详细错误信息:
语法错误 (操作符丢失) 在查询表达式 \'\'$ 人事总务课.XXX ={主题:答复: 答复: 考勤数据联络---11月1日--11月13日打卡异常数据和补卡单
收件人:黎明
抄送人:
正文:
张学友

是的,你在空白处补一下吧,当天你们好像是有培训。


--------------------------------------------------------------------------------------------------------------------------------\' 中。


--  作者:有点蓝
--  发布时间:2016/11/14 17:48:00
--  
贴出接收事件的代码
--  作者:ljh29206
--  发布时间:2016/11/15 9:20:00
--  
server  receivedmessage

If e.Message = "GetDate" Then
    e.ReturnValue = Date.Now
End If


client receivedmessage

Dim msg As String = e.Message
Dim contain As Integer = 0  \'判断这个表是否存在
For Each t As DataTable In DataTables
    If msg.Contains(t.name) Then
        contain = 1
    End If
Next
If contain = 0 Then \' 如果这个表已经加载了, 就继续,否测停止.
    Return
End If

If msg.SubString(1,1) = "#" Then    \'保证这个是  ADU 添加删除修改行的操作.
    Dim dr As DataRow
    Dim pts() As String = msg.Split("#")
    If pts.Length = 3 Then
        dr = DataTables(pts(1)).Find("[_Identify] = " & pts(2))
        Select pts(0)
            Case "U"  \'表示修改了的行
                If dr IsNot Nothing  Then
                    dr.Load() \'重新加载此行
                End If
            Case "A"  \'表示增加了行
                If dr Is Nothing Then \'如果还没有追加进去
                    DataTables(pts(1)).AppendLoad("[_Identify] = " &  pts(2))
                    dr = DataTables(pts(1)).Find("[_Identify] = " & pts(2))
                End If
            Case "D"  \'表示删除了行
                If dr IsNot Nothing Then
                    DataTables(pts(1)).RemoveFor("[_Identify] = "  & pts(2)) \'移除行
                End If
        End Select
        
        Select Case pts(1)
            Case "日程明细"
                    Functions.Execute("日程刷新")
            Case "业务申请"
                Functions.Execute("业务申请")
        End Select
    End If
End If

--  作者:有点蓝
--  发布时间:2016/11/15 9:41:00
--  
这里看不出问题,后面的2个函数代码看看
--  作者:有点青
--  发布时间:2016/11/15 9:48:00
--  
 是什么情况下会触发报错?是不是每次执行某个操作都报错?
--  作者:ljh29206
--  发布时间:2016/11/15 10:12:00
--  
这个是 QQ服务器报错,非客户端.   ,运行了10多天了,第一次报错.

发送了这条信息后,就终止了服务器的 运作
[此贴子已经被作者于2016/11/15 10:23:32编辑过]

--  作者:ljh29206
--  发布时间:2016/11/15 10:28:00
--  
我把outlook 的 邮件转到  openqq里面去

触发的事件如下

If FileSys.DirectoryExists("E:\\Publish\\project\\outlooksend") AndAlso FileSys.GetFiles("E:\\Publish\\project\\outlooksend").Count > 0 Then
    For Each File As String In FileSys.GetFiles("E:\\Publish\\project\\outlooksend")
        Dim s As String = FileSys.ReadAllText(file  , Encoding.Default).Trim()
        If s.Contains("∞") Then   \'用∞作为分割符
            Dim Values() As String
            Values = S.split("∞")
            
            Dim fjs() As String   \'附件用;作为分隔符
            fjs = values(4).split(";")
            
            Dim emails() As String
            emails = values(3).split(";")
            
            Dim biaoti As String =  Values(1)
            biaoti =  biaoti.Replace(chr(10)+ chr(13) ,  "")
            biaoti =  biaoti.Replace( "?" ,  "")
            Dim zhengwen As String =  Values(2)
            zhengwen =  zhengwen.Replace(chr(10)+ chr(13) ,  "")
            zhengwen =  zhengwen.Replace( "?" ,  "")
            
            For youxiangs As Integer = 0 To emails.Length - 1
                Dim dr As DataRow = DataTables("pclist").Find("mailaddress = \'" & emails(youxiangs) & "\'")
                If dr IsNot Nothing Then
                    If  dr("rank") < 8 Then
                        QQClient.SendChatMessage(dr("qqdepartment") & "." & dr("username"), "主题:" & biaoti & vbcrlf & "收件人:" & Values(5) & vbcrlf & "抄送人:" & Values(6) & vbcrlf & "正文:" & vbcrlf & zhengwen) \'发送内容
                               If fjs.Length > 0 Then
                               System.Threading.Thread.Sleep(100) 
                                For fujian As Integer = 0 To fjs.Length -1
                                If FileSys.FileExists(fjs(fujian)) Then
                                    QQClient.SendChatFile(dr("qqdepartment") & "." & dr("username"), fjs(fujian))  \'发送附件
                                End If
                            Next
                        End If
                    End If
                End If
            Next
            FileSys.DeleteFile (file,2,2)
        End If
    Next
End If
[此贴子已经被作者于2016/11/15 10:31:01编辑过]

--  作者:有点蓝
--  发布时间:2016/11/15 11:05:00
--  
光从代码看不出什么问题。跟踪一下数据的流转
[此贴子已经被作者于2016/11/15 11:06:01编辑过]

--  作者:有点青
--  发布时间:2016/11/15 11:25:00
--  
 每次执行都会报错?固定某条信息报的错?
--  作者:ljh29206
--  发布时间:2016/11/15 12:21:00
--  
就 发生过1次 之后没有出现过, 我自己再找找吧
[此贴子已经被作者于2016/11/15 12:31:43编辑过]