以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 项目开始运行时的事件设置 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3227)
|
-- 作者:reachtone
-- 发布时间:2009/6/21 12:30:00
-- 项目开始运行时的事件设置
我想在项目开始运行的时候,先判断配置文件是否存在。如果存在的话,就继续;否则就弹出一个提示窗,确定后即退出系统。 请问这个事件应怎么设置?应把它放到哪里?我在BeforeConnectOuterDataSource和LoadUserSetting里设置了,运行时都会出错。 是事件代码不对吗?
if FileSys.FileExists(projectpath & "ConnConfig.ini") Then Messagebox.Show("文件已经存在!","提示") Else Messagebox.Show("数据库配置文件不存在,系统无法运行!","提示") Syscmd.Project.Exit() End If
|
-- 作者:狐狸爸爸
-- 发布时间:2009/6/21 15:05:00
--
在这两个事件中是无法退出系统的,在AfterLoadOpenProject事件中设置代码吧。 也许需要来一个BeforeOpenProject事件。
[此贴子已经被作者于2009-6-21 15:12:28编辑过]
|
-- 作者:yangming
-- 发布时间:2009/6/21 15:13:00
--
在AfterLoadOpenProject事件中设置代码,可行,我试过了
|
-- 作者:reachtone
-- 发布时间:2009/6/21 16:10:00
--
在项目事件中只有AfterOpenProject,没有找到2、3楼所说的AfterLoadOpenProject事件。 刚才试了一下,在AfterOpenProject事件中设置确实是可以,但这个事件是在DataTable、Table和窗口都已经生成的情况下执行的。 而我现在的目的是:先判断配置文件是否存在,如果文件存在,再按照配置文件中的字符串去连接并加载外部数据。如果把刚才的事件放到AfterOpenProject事件中去执行,这样会不会出错呢?而且,我刚才试了一下,由于AfterOpenProject事件没有e参数,类似于下面的代码根本就是错误的:
此主题相关图片如下:snap1.gif

[此贴子已经被作者于2009-6-21 16:21:04编辑过]
|
-- 作者:狐狸爸爸
-- 发布时间:2009/6/21 16:14:00
--
是AfterOpenProject事件,我打错了。 可以在这个事件中使用下面的代码退出系统: syscmd.project.exit()
当然这不是一个好的方案,应该增加一个带Cancel参数的BeforeOpenProject事件。
|
-- 作者:reachtone
-- 发布时间:2009/6/21 16:17:00
--
论坛是不是有问题啊?4楼的回复,我都修改很多次了,代码中的第二行在提交后总是丢失。 晕死了,还是丢,4楼已改用图片了。
[此贴子已经被作者于2009-6-21 16:22:44编辑过]
|
-- 作者:reachtone
-- 发布时间:2009/6/21 16:25:00
--
以下是引用狐狸爸爸在2009-6-21 16:14:00的发言: 应该增加一个带Cancel参数的BeforeOpenProject事件。
如果有这个事件就不会存在上面的问题了。
|
-- 作者:yangming
-- 发布时间:2009/6/21 16:39:00
--
是
AfterOpenProject事件中
此主题相关图片如下:项目文件.jpg

|
-- 作者:狐狸爸爸
-- 发布时间:2009/6/22 8:49:00
--
6月22日更新,已经加上了BeforeOpenProject事件。
[此贴子已经被作者于2009-6-22 8:49:27编辑过]
|
-- 作者:kylin
-- 发布时间:2009/6/22 8:55:00
--
刚才试了一下,在BeforeOpenProject事件中好像不能获取user.name,也不能获取连接数据源等等,所以用途不大,还是用AfterOpenProject事件。
|