以文本方式查看主题 - 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=76994) |
-- 作者:yyzlxc -- 发布时间:2015/11/9 14:56:00 -- [求助]OpenQQ 客户端登录出错 本地分别建两个项目,自定义登录系统,使用内置身份验证,服务端启用状态,运行客户端登录出错,请各位老师指教,谢谢!! 均为状态按钮 服务端 CurrentTable.EnterKeyActionDown = e.ToggleButton.Pressed If e.ToggleButton.Pressed = True Then QQServer.ServerIp = "127.0.0.1" \'指定IP地址 QQServer.ServerPort = 52177 \'指定端口 QQServer.HeartbeatInterval = 30 \'指定心跳时间 QQServer.HeartbeatTimeout = 100 \'指定心跳超时时间 QQserver.Buildin = True \'启用内置身份验证 QQServer.Start() \'启动QQServer Dim btn As RibbonMenu.ToggleButton btn = RibbonTabs("系统菜单").Groups("用户功能").Items("启用QQ") btn.Text = "暂停 QQ" Else QQServer.Stop() Dim btn As RibbonMenu.ToggleButton btn = RibbonTabs("系统菜单").Groups("用户功能").Items("启用QQ") btn.Text = "启用 QQ" End If 客户端 CurrentTable.EnterKeyActionDown = e.ToggleButton.Pressed If e.ToggleButton.Pressed = True Then 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 Dim btn As RibbonMenu.ToggleButton btn = RibbonTabs("系统菜单").Groups("用户功能").Items("登录QQ") btn.Text = "退出 QQ" Else If QQClient.Ready = True Then QQClient.Stop() End If Dim btn As RibbonMenu.ToggleButton btn = RibbonTabs("系统菜单").Groups("用户功能").Items("登录QQ") btn.Text = "登录 QQ" End If |
-- 作者:Hyphen -- 发布时间:2015/11/9 15:03:00 -- 登录身份验证的事件UserLogging有没有做相应更改
http://www.foxtable.com/help/topics/3017.htm
|
-- 作者:大红袍 -- 发布时间:2015/11/9 15:04:00 -- 这句代码
QQClient.UserName = ""
改成如
QQClient.UserName = "A.B" |
-- 作者:yyzlxc -- 发布时间:2015/11/9 15:42:00 -- 谢谢两位老师的指教,修改了QQClient.UserName = ""的代码后,原来的错误解决,出现“登录密码错误”的提示,问题在哪里,请老师指教,谢谢!! UserLogging事件代码 Dim pts() As String = e.UserName.Split(".") Dim dr1 As DataRow dr1 = DataTables("用户信息").Find("部门 = \'" & pts(0) & "\' And 姓名 = \'" & pts(1) & "\'") If dr1 Is Nothing Then \'判断此用户不存在 e.Message = "用户名错误!" \'返回给登录者的提示信息 Return End If If dr1("MM1") <> e.Password Then \'如果密码错误 e.Message = "登录密码错误!" \'返回给登录者的提示信息 Return End If e.Success = True \'允许用户登录 \'添加所有同事为好友 For Each dr2 As DataRow In DataTables("用户信息").DataRows Dim nm As String = dr2("部门") & "." & dr2("姓名") If nm <> e.UserName Then \'如果不是登录者本人 e.Buddies.Add(nm) End If Next |
-- 作者:大红袍 -- 发布时间:2015/11/9 15:48:00 -- 提示密码错误,就是你密码错误了。
你这样写看看返回什么?
If dr1("MM1") <> e.Password Then \'如果密码错误 e.Message = dr1("MM1") & vbcrlf & e.Password
|
-- 作者:yyzlxc -- 发布时间:2015/11/9 16:06:00 -- 大红袍老师,按上述代码加入,返回的的密码与用户信息表相符,没有错。 |
-- 作者:大红袍 -- 发布时间:2015/11/9 16:07:00 -- 是不是有空格?这样看看 e.Message = "123" & dr1("MM1") & "123" & vbcrlf & "123" & e.Password & "123"
|
-- 作者:yyzlxc -- 发布时间:2015/11/9 16:08:00 -- 只有一段密码 |
-- 作者:大红袍 -- 发布时间:2015/11/9 16:10:00 -- 弹出什么? |
-- 作者:yyzlxc -- 发布时间:2015/11/9 16:11:00 -- 返回: 123yyzlxc123 123123 |