Foxtable(狐表)用户栏目专家坐堂 → 关于Syscmd.Project.Exit() 命令


  共有3919人关注过本帖树形打印复制链接

主题:关于Syscmd.Project.Exit() 命令

帅哥哟,离线,有人找我吗?
kunny
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:139 积分:1055 威望:0 精华:0 注册:2013/12/5 21:34:00
关于Syscmd.Project.Exit() 命令  发帖心情 Post By:2014/3/17 13:33:00 [只看该作者]

在启动程序的过程中,有些情况需要直接关闭程序,就使用了系统Syscmd.Project.Exit(),但是在如下的所有项目事件中都尝试了这个命令:
beforeOpenProject
BeforeConnectOuterDS
beforeLoadInnerTable
BeforeLoadOuterTable
LoadUserSetting
AfterOpenProject
Initialize

每一个都会有如下的提示:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140317133103.jpg
图片点击可在新窗口打开查看

其中,在beforeOpenProject、BeforeConnectOuterDS、beforeLoadInnerTable和LoadUserSetting中是没有任何其它代码的,就此一句Syscmd.Project.Exit(),哪位能知道这是什么原因造成的呢?


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/3/17 13:44:00 [只看该作者]

Syscmd.Project.Exit() 是退出项目,

打开了项目,才会有退出项目吧。


 回到顶部
帅哥哟,离线,有人找我吗?
kunny
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:139 积分:1055 威望:0 精华:0 注册:2013/12/5 21:34:00
  发帖心情 Post By:2014/3/17 14:17:00 [只看该作者]

喔,那要是在AfterOpenProject之前的某个阶段关闭程序,如何实现呢?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/17 14:19:00 [只看该作者]

你好,你提问中完全没有包括AfterOpenProject , 而且在AfterOpenProject是可以使用的.

如果是BeforeOpenProject,请认真查看一下事件介绍你会发现如下

e参数属性:

File: 字符型,表示正在打开的项目文件名称,含路径。
Cancel: 逻辑型,设为True,拒绝打开项目。
HideSplashForm: 逻辑型,设为True,关闭Foxtable的启动封面。



所以你只需要设置 e.Cancel=true 即可


 回到顶部
帅哥哟,离线,有人找我吗?
kunny
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:139 积分:1055 威望:0 精华:0 注册:2013/12/5 21:34:00
  发帖心情 Post By:2014/3/17 15:27:00 [只看该作者]

OK,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
kunny
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:139 积分:1055 威望:0 精华:0 注册:2013/12/5 21:34:00
  发帖心情 Post By:2014/3/20 23:06:00 [只看该作者]

还要处理一下BeforeConnectOuterDS中的事件,要求在连接数据源错误的时候直接关闭项目.
这时候应该也是没有打开项目,也不支持e.Cancel=true,用什么方法呢?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/3/21 8:14:00 [只看该作者]

楼上同学,不可以在BeforeConnectOuterDataSource事件中关闭项目。
可以在BeforeOpenProject用TryConect直接判断连接字符串是否可以连通。不同则Cancel:
 

TryConnect

测试指定的链接字符串能否连通,如果能连通,则返回True,否则返回False。

语法:

TryConnect(ConnectionString)

ConnectionString:要测试的链接字符串。

Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\data\Northwind.mdb;Persist Security Info=False"
If
Connections.TryConnect(s) = False Then
    MessageBox.Show("数据源无法连通!"
)
End If


 回到顶部
帅哥哟,离线,有人找我吗?
kunny
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:139 积分:1055 威望:0 精华:0 注册:2013/12/5 21:34:00
  发帖心情 Post By:2014/3/23 9:25:00 [只看该作者]

多谢!

 回到顶部