这是在【全局代码】中定义的:
Public Declare Function MessageBoxTimeout Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hwnd As Integer, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Integer, ByVal wlange As Integer, ByVal dwTimeout As Integer) As Integer
但在【BeforeOpenProject】事件中尚未生效,因此不能在该事件中使用MessageBoxTimeout(BaseMainForm.Handle,"正在升级, 请停止任何操作!", "提示", vbOKonly, 0, 3000) '3秒后自动关闭提示窗口
现在想在【BeforeOpenProject】事件中判断项目需要升级后,立刻执行升级(自定义代码),并用上述定时提示。
在【BeforeOpenProject】事件中执行升级的好处是可以不执行后续的项目事件,减少启动时间。当然也可以通过增加条件语句来达到不加载表、不执行初始化设置,但这就有点啰嗦了。
使用MessageBoxTimeout的好处也是在于缩短时间,因此,如果用MessageBox.show还不如放在【AfterOpenProject】事件中,再使用MessageBoxTimeout。
如果不在乎几秒钟的时间,也可以在【AfterOpenProject】事件中执行升级。
求助:上述的【全局代码】怎么在【BeforeOpenProject】事件中定义?或能否定义?
谢谢!