以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  openQQ对话窗口打开导致如图错误,是什么原因?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=196345)

--  作者:13568406997
--  发布时间:2025/4/18 15:10:00
--  openQQ对话窗口打开导致如图错误,是什么原因?
图片点击可在新窗口打开查看

If QQClient.Ready Then
    QQClient.OpenChatWindow()
End If

--  作者:有点蓝
--  发布时间:2025/4/18 15:29:00
--  
应该不是这个代码的问题。去掉这几句代码就没有问题?AfterOpenProject事件完整代码发上来看看
--  作者:13568406997
--  发布时间:2025/4/18 15:37:00
--  
\'MessageBox.Show("进入全局事件AfterOpenProject")
\'For Each dtb As DataTable In DataTables
\'    dtb.LoadFilter = "[_Identify] Is Null"
\'Next 
\'Functions.Execute("窗口数据表加载", "系统启动")
bln_TB_AL_ALFM_禁止加载数据 = False
Vars("bln_ARR_AL_ALFM_系统启动完成") = True
If forms.Contains("流程菜单") Then 
    Forms("流程菜单").show()
Else
    MessageBox.Show("流程菜单窗口不存在!")
End If

\'For Each dtb As DataTable In DataTables
\'    dtb.LoadFilter = "[_Identify] Is Null"
\'Next


\'MessageBox.Show(1)

\'用户不是开发者,隐藏所有数据表标题,检查系统版本
If User.Type <> UserTypeEnum.Developer Then
    If DataTables.Contains("当前版本") = False Then
        DataTables.load("当前版本")
    End If
    If DataTables.Contains("项目管理表") = False Then
        DataTables.load("项目管理表")
    End If
\'    MessageBox.Show(2)
    TableCaptionVisible = False
    Dim 当前版本号 As String
    Dim dtb当前版本 As DataTable=DataTables("当前版本")
    Dim bln允许登录 As Boolean
    Dim dr当前版本 As DataRow = DataTables("当前版本").SQLFind("")
    当前版本号 = dr当前版本("当前版本号")
    If 当前版本号="" Then
        messagebox.show("当前版本号为空,不允许登录!")
        Syscmd.Project.Exit(True)
    End If
\'    MessageBox.Show(3)
    \'检查系统版本是否可以登录
    \'    MessageBox.Show("版本号=\'" & 当前版本号 & "\'")
    Dim dr As DataRow = DataTables("项目管理表").sqlfind("版本号=\'" & 当前版本号 & "\'")
    If dr Is Nothing
        messagebox.show("版本号未找到,不允许登录!")
        Syscmd.Project.Exit(True)
    ElseIf dr("是否允许登录")=False
        messagebox.show("当前版本号: " & 当前版本号 & " 已过期,不允许登录!")
        Syscmd.Project.Exit(True)
    End If
End If
\'MessageBox.Show(4)
\'隐藏所有数据表

If forms.Contains("流程菜单") Then 
    Forms("流程菜单").show()
Else
    MessageBox.Show("流程菜单窗口不存在!")
End If
\'MessageBox.Show(5)
\'非开发者不能看到数据表
If User.Type <> UserTypeEnum.Developer Then    
    
    TableCaptionVisible = False
    For Each tbl As Table In Tables
        
        tbl.Visible=False
    Next tbl
    
End If
\'MessageBox.Show(6)
\'打开串口
\'Ports.Add("COM1")
\'Ports("COM1").Open()


If QQClient.Ready Then
    QQClient.OpenChatWindow()
    Dim sdt As Date = Date.Now
    While Date.Now < sdt.AddSeconds(3)
        Application.DoEvents
    End While
End If
\'MessageBox.Show(7)
Forms("流程菜单").show()
If forms.Contains("流程菜单") Then 
    Forms("流程菜单").show()
Else
    MessageBox.Show("流程菜单窗口不存在!")
End If
\'MessageBox.Show(8)
\'---------------------------------------------------------------------------
\'将手机上传的问题添加到船流转表
If DataTables.Contains("BoatExceptionLog") = False Then
    DataTables.load("BoatExceptionLog")
End If
If DataTables.Contains("船流转过程") = False Then
    DataTables.load("船流转过程")
End If
\'MessageBox.Show(9)
\'MessageBox.Show("开始登记手机上传的问题到船流转过程表")
Dim dr已经问题处理截止日期 As DataRow = DataTables("系统重要参数").SQLFind("数值名称=\'生产问题跟踪截止日期\'")
Dim dt已经问题处理截止日期 As Date
If dr已经问题处理截止日期 IsNot Nothing Then
    If dr已经问题处理截止日期("当前值") = Nothing Then
        \'        MessageBox.Show(DataTables("BoatExceptionLog").SQLCompute("min(logTime)"))
        Dim dt As Date = DataTables("BoatExceptionLog").SQLCompute("min(logTime)")
        dr已经问题处理截止日期("当前值") = dt
        dr已经问题处理截止日期.save
    End If 
    dt已经问题处理截止日期 = CDate(dr已经问题处理截止日期("当前值"))
End If

\'MessageBox.Show(10)
If dt已经问题处理截止日期 = Nothing OrElse dt已经问题处理截止日期 = Date.Today Then
    \'    MessageBox.Show("未找到日期")
    Return
End If 

\'MessageBox.Show(11)
Dim drs未登记问题船 As List(Of DataRow) = DataTables("BoatExceptionLog").sqlselect("logTime>\'" & dt已经问题处理截止日期 & "\'")
Dim cnt As Integer
For Each dr As DataRow In drs未登记问题船
    Dim dr已报 As DataRow = DataTables("船流转过程").SQLFind("出货方=\'" & dr("boatLogId") & "\'") \'出货方记录BoatExceptionLog的boatLogId,简化计算
    If dr已报 Is Nothing Then
        cnt += 1
        Functions.Execute("添加船流转记录", dr("boatCode"), "手机上报的生产问题", dr("boatLogId") , "", "登记问题为: " & dr("note"))
    End If 
    
Next 
\'MessageBox.Show("新增记录" & cnt & "条")
\'MessageBox.Show(12)
dr已经问题处理截止日期("当前值") = Date.Today
dr已经问题处理截止日期.Save

--  作者:13568406997
--  发布时间:2025/4/18 15:38:00
--  
If QQClient.Ready Then
    QQClient.OpenChatWindow()
    Dim sdt As Date = Date.Now
    While Date.Now < sdt.AddSeconds(3)
        Application.DoEvents
    End While
End If

刚改了一下,怀疑是openQQ窗口没有打开就执行后边的代码了,加了个等待3秒,好像没问题了
还在继续调试