以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  openQQ直接登录问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=126577)

--  作者:Engineer1
--  发布时间:2018/10/24 16:57:00
--  openQQ直接登录问题
老师我把代码放在afteropenproject 里为什么登录出错啊,服务器端已经改好了,还应该怎么弄
QQClient.ServerIP = "192.168.0.3" 
QQClient.ServerPort = 52177  
QQClient.UserName = ""
QQClient.Password = ""
If QQClient.Start() = True
    Dim msg As String =  "恭喜,OpenQQ登录成功!"
    If QQClient.ServerMessage > "" Then 
        msg = msg & QQClient.ServerMessage
    End If
    PopMessage(msg,"提示",PopiconEnum.Infomation,5)
Else 
   PopMessage("QQClient登录失败,原因:" & vbcrlf & QQClient.ServerMessage,"提示",PopiconEnum.Error,5)
End If
[此贴子已经被作者于2018/10/24 16:59:34编辑过]

--  作者:Engineer1
--  发布时间:2018/10/24 17:14:00
--  
我是设置成内置身份验证的 ,现在提示未知错误

[此贴子已经被作者于2018/10/24 17:26:57编辑过]

--  作者:有点甜
--  发布时间:2018/10/24 17:34:00
--  

贴出你客户端UserLogging事件代码,对比帮助文档 http://www.foxtable.com/webhelp/scr/3017.htm

 

UserLogging事件里面,加入msgbox弹出值,看执行到哪里了。


--  作者:Engineer1
--  发布时间:2018/10/24 17:44:00
--  
就是这段直接复制的啊 
If e.User IsNot Nothing Then 
   \'通过了内置身份验证
    
e.Success = True \'允许用户登录
Else
   \'未通过内置身份验证
End If

--  作者:有点甜
--  发布时间:2018/10/24 18:56:00
--  

1、不要用开发者、管理员登陆,尝试用别的用户登录测试;

 

2、请使用自带的实例测试 【内置验证QQServer.foxdb 内置验证QQClient.foxdb

 

3、如果还是有问题,请上传实例测试。


--  作者:Engineer1
--  发布时间:2018/10/24 20:42:00
--  
老师,我用自带的实例测试没问题,可是自己做的实例不可以,用的是最简单的代码,
服务器端

QQServer.ServerIp = "127.0.0.1" \'指定IP地址
QQServer
.ServerPort = 52177 \'指定登录端口
QQServer
.HeartbeatInterval = 30 \'指定心跳时间
QQServer
.HeartbeatTimeout = 100 \'指定心跳超时时间
QQserver.Buildin = True \'启用内置身份验证

QQServer
.Start() \'启动QQServer


userlogging 事件

If e.User IsNot Nothing Then 

   

    e.Success = True \'允许用户登录

Else

   \'未通过内置身份验证

End If


客户端

QQClient.ServerIP = "127.0.0.1"
QQClient
.ServerPort = 52177 
QQClient
.UserName = ""
QQClient
.Password = ""
If
QQClient.Start() = True
    Dim msg As String"
恭喜,OpenQQ登录成功!"
    If QQClient.ServerMessage > "" Then
        msg = msg & QQClient.ServerMessage
    End If
    PopMessage(msg,"
提示",PopiconEnum.Infomation,5)
Else

   PopMessage("QQClient
登录失败,原因:" & vbcrlf & QQClient.ServerMessage,"提示",PopiconEnum.Error,5)
End
If

发现自带实例在beforeconnectouterdatasource 有里代码,
If e.Name = "users" Then
     e.C & e.ProjectPath & "QQUsers.mdb;Persist Security Info=False"
End If
不知道是不是这段代码的原因,我的是SQL数据库应该怎么写?
[此贴子已经被作者于2018/10/24 20:43:09编辑过]

--  作者:有点甜
--  发布时间:2018/10/24 22:58:00
--  

1、不要用开发者、管理员登陆,用别的用户登录测试;能否连上?

 

2、你改成内置登陆了没有?http://www.foxtable.com/webhelp/scr/2723.htm

 

3、在UserLogging事件里面,加入msgbox弹出值,看执行到了没有。


--  作者:Engineer1
--  发布时间:2018/10/25 9:19:00
--  
老师消息提示是2,身份验证的问题,可是我仍然不知道错在哪里,都没用开发者登录的
If e.User IsNot Nothing Then 
   \'通过了内置身份验证
messagebox.Show(1)
    e.Success = True \'允许用户登录
Else
   \'未通过内置身份验证
messagebox.Show(2)
End If
[此贴子已经被作者于2018/10/25 9:19:14编辑过]

--  作者:有点蓝
--  发布时间:2018/10/25 9:53:00
--  
服务端有客户端登录的这个名称的内置登录用户吗。如果是内部用户表,必须2边都添加相同名称的用户
--  作者:Engineer1
--  发布时间:2018/10/25 10:20:00
--  
服务器 端的数据源都引用了