以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  在beforeConnectOuterDataSource事件中无法打开窗口。  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=25905)

--  作者:关键下一秒
--  发布时间:2012/11/19 20:58:00
--  在beforeConnectOuterDataSource事件中无法打开窗口。
如题,在该事件中打开窗口的话,系统会提示找不到窗口。请问该如何解决。我想打开项目时,手动输入服务器的IP地址。
--  作者:关键下一秒
--  发布时间:2012/11/19 22:24:00
--  
If e.Name = "BOYsERP" Then
    Dim n As Integer=0
    Dim ipstring As String="192.168.1.200"
    Do While Network.Ping(ipstring,1000) = False  \'如果第一个IP无法接通
        n=n+1
        If n>3 Then
            Syscmd.Project.Exit(False)
        Else
            InputValue(ipstring,"服务器地址不正确","请输入正确的服务器IP地址:")
        End If
    Loop
    e.ConnectionString=e.ConnectionString.Replace("192.168.1.200",ipstring) End If
我是这样实现的。在beforopenouterdatasource事件中。请各位指教。

--  作者:关键下一秒
--  发布时间:2012/11/19 22:36:00
--  

有个问题: syscmd.project.exit(false)好像系统不能真正退出。

还是会滞留在内存中。


--  作者:blackzhu
--  发布时间:2012/11/20 7:30:00
--  
syscmd.project.exit()
--  作者:狐狸爸爸
--  发布时间:2012/11/20 8:22:00
--  

窗口必须在AterOpenProject事件之后才能调用,之前并未生成。
如果你要在打开文件件进行一些判断,条件不符就退出,不应该用beforeConnectOuterDataSource,beforeConnectOuterDataSource不应该有退出代码

应该用BeforeOpenProject:

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