以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于Syscmd.Project.Exit() 命令 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=47773) |
-- 作者:kunny -- 发布时间:2014/3/17 13:33:00 -- 关于Syscmd.Project.Exit() 命令 在启动程序的过程中,有些情况需要直接关闭程序,就使用了系统Syscmd.Project.Exit(),但是在如下的所有项目事件中都尝试了这个命令: beforeOpenProject BeforeConnectOuterDS beforeLoadInnerTable BeforeLoadOuterTable LoadUserSetting AfterOpenProject Initialize 每一个都会有如下的提示: 其中,在beforeOpenProject、BeforeConnectOuterDS、beforeLoadInnerTable和LoadUserSetting中是没有任何其它代码的,就此一句Syscmd.Project.Exit(),哪位能知道这是什么原因造成的呢? |
-- 作者:lsy -- 发布时间:2014/3/17 13:44:00 -- Syscmd.Project.Exit() 是退出项目, 打开了项目,才会有退出项目吧。 |
-- 作者:kunny -- 发布时间:2014/3/17 14:17:00 -- 喔,那要是在AfterOpenProject之前的某个阶段关闭程序,如何实现呢? |
-- 作者:Bin -- 发布时间:2014/3/17 14:19:00 -- 你好,你提问中完全没有包括AfterOpenProject , 而且在AfterOpenProject是可以使用的. 如果是BeforeOpenProject,请认真查看一下事件介绍你会发现如下 e参数属性: File:
字符型,表示正在打开的项目文件名称,含路径。 所以你只需要设置 e.Cancel=true 即可 |
-- 作者:kunny -- 发布时间:2014/3/17 15:27:00 -- OK,谢谢! |
-- 作者:kunny -- 发布时间:2014/3/20 23:06:00 -- 还要处理一下BeforeConnectOuterDS中的事件,要求在连接数据源错误的时候直接关闭项目. 这时候应该也是没有打开项目,也不支持e.Cancel=true,用什么方法呢?
|
-- 作者:狐狸爸爸 -- 发布时间:2014/3/21 8:14:00 -- 楼上同学,不可以在BeforeConnectOuterDataSource事件中关闭项目。 可以在BeforeOpenProject用TryConect直接判断连接字符串是否可以连通。不同则Cancel: TryConnect 测试指定的链接字符串能否连通,如果能连通,则返回True,否则返回False。 语法: ConnectionString:要测试的链接字符串。 Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\data\\Northwind.mdb;Persist Security Info=False" |
-- 作者:kunny -- 发布时间:2014/3/23 9:25:00 -- 多谢! |