我想在项目开始运行的时候,先判断配置文件是否存在。如果存在的话,就继续;否则就弹出一个提示窗,确定后即退出系统。
请问这个事件应怎么设置?应把它放到哪里?我在BeforeConnectOuterDataSource和LoadUserSetting里设置了,运行时都会出错。
是事件代码不对吗?
if FileSys.FileExists(projectpath & "ConnConfig.ini") Then
Messagebox.Show("文件已经存在!","提示")
Else
Messagebox.Show("数据库配置文件不存在,系统无法运行!","提示")
Syscmd.Project.Exit()
End If
在这两个事件中是无法退出系统的,在AfterLoadOpenProject事件中设置代码吧。
也许需要来一个BeforeOpenProject事件。
[此贴子已经被作者于2009-6-21 15:12:28编辑过]
在AfterLoadOpenProject事件中设置代码,可行,我试过了
在项目事件中只有AfterOpenProject,没有找到2、3楼所说的AfterLoadOpenProject事件。
刚才试了一下,在AfterOpenProject事件中设置确实是可以,但这个事件是在DataTable、Table和窗口都已经生成的情况下执行的。
而我现在的目的是:先判断配置文件是否存在,如果文件存在,再按照配置文件中的字符串去连接并加载外部数据。如果把刚才的事件放到AfterOpenProject事件中去执行,这样会不会出错呢?而且,我刚才试了一下,由于AfterOpenProject事件没有e参数,类似于下面的代码根本就是错误的:
此主题相关图片如下:snap1.gif
[此贴子已经被作者于2009-6-21 16:21:04编辑过]
是AfterOpenProject事件,我打错了。
可以在这个事件中使用下面的代码退出系统:
syscmd.project.exit()
当然这不是一个好的方案,应该增加一个带Cancel参数的BeforeOpenProject事件。
论坛是不是有问题啊?4楼的回复,我都修改很多次了,代码中的第二行在提交后总是丢失。
晕死了,还是丢,4楼已改用图片了。
[此贴子已经被作者于2009-6-21 16:22:44编辑过]
以下是引用狐狸爸爸在2009-6-21 16:14:00的发言:
应该增加一个带Cancel参数的BeforeOpenProject事件。
如果有这个事件就不会存在上面的问题了。
6月22日更新,已经加上了BeforeOpenProject事件。
[此贴子已经被作者于2009-6-22 8:49:27编辑过]
刚才试了一下,在BeforeOpenProject事件中好像不能获取user.name,也不能获取连接数据源等等,所以用途不大,还是用AfterOpenProject事件。