以文本方式查看主题

-  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=77201)

--  作者:倪惠明
--  发布时间:2015/11/12 17:22:00
--  [讨论]用OpenQQ实现独占式编辑中的漏洞

用OpenQQ实现独占式编辑

在窗口编辑情况下,当张三已经打开了编辑窗口后,因为某种原因退出了QQClient,但编辑窗口并未关闭,此时李四对该记录进行同样编辑,因张三不在线李四也可以打开该编辑窗口,这样就出现了两人同时编辑的情况,是否可以通过代码当张三无论什么原因退出QQClient都会自动关闭编辑窗口,这样才能保证独占编辑。
--  作者:大红袍
--  发布时间:2015/11/12 17:49:00
--  

窗口做个计时器,定时检测

 

If QQClient.Ready = False Then \'如果QQClient没有启动,则禁止编辑
    PopMessage("必须启动QQClient,才能编辑此表数据!","提示",PopIconEnum.Infomation,5)
    e.Form.Close
End If


--  作者:狐狸爸爸
--  发布时间:2015/11/12 18:14:00
--  

在这个事件关闭窗口:

http://www.foxtable.com/help/topics/2996.htm

 


--  作者:倪惠明
--  发布时间:2015/11/13 9:15:00
--  

Disconnected事件的e参数为中断原因,如何指定当前打开的编辑窗口?请指导!


--  作者:倪惠明
--  发布时间:2015/11/13 9:17:00
--  

窗口做个计时器,定时检测

If QQClient.Ready = False Then \'如果QQClient没有启动,则禁止编辑
PopMessage("必须启动QQClient,才能编辑此表数据!","提示",PopIconEnum.Infomation,5)
e.Form.Close
End If

这种方法是否会影响系统的运行效率?
--  作者:大红袍
--  发布时间:2015/11/13 9:22:00
--  
以下是引用倪惠明在2015/11/13 9:15:00的发言:

Disconnected事件的e参数为中断原因,如何指定当前打开的编辑窗口?请指导!

 

你把所有的窗口都关闭不就行了

 

Forms("窗口1").Close

Forms("窗口2").Close

Forms("窗口3").Close

 

 


--  作者:狐狸爸爸
--  发布时间:2015/11/13 9:23:00
--  
以下是引用倪惠明在2015/11/13 9:15:00的发言:

Disconnected事件的e参数为中断原因,如何指定当前打开的编辑窗口?请指导!

 

你自己设计的窗口,就应该会知道那些窗口在Openqq离线后关闭。

Dicconnected事件代码:

 

if  forms("xxx").Opened Then

    forms("xxx").Close()

End if


--  作者:倪惠明
--  发布时间:2015/11/13 9:56:00
--  

因为系统不同流程打开不同的编辑窗口,如果直接指定窗口名代码太复杂,是否有什么方法判断当前打开的编辑窗口?另外在系统中还有一个导航窗口为共有窗口此窗口不能关闭。


--  作者:大红袍
--  发布时间:2015/11/13 9:58:00
--  

把所有需要关闭的窗口写在里面就行啊。


--  作者:倪惠明
--  发布时间:2015/11/13 10:01:00
--  
看来只有此办法了