另一个贴子里我提到使用加密狗的问题,当时贺老师说的一句话非常有道理,就是第一次检测加密狗最好在BeforeOpenProject事件中,因为这时候项目还没有启动,这时候检测若没有加密狗则不启动项目,就不用浪费不必要的时间了。若把检测加密狗放在AfterOpenProject事件中,等到所有的表和窗口都打开了再检测加密狗,这时候发现电脑上没有狗再退出项目,就白白浪费了半天的时间。
现在我遇到的问题是,加密狗需要外带的DLL文件,由于不是.net 的DLL文件,所以需要在“全局代码”中声明这个DLL文件中的函数。经过我的测试,只有在AfterOpenProject事件中,全局代码才开始起使用,加密狗相关的函数才可以使用。而在BeforeOpenProject事件中、BeforeConnectOuterDataSource事件中,全局代码都不起作用,所以这时候也无法使用加密狗的函数检测加密狗。
我的建法是:能否让狐表在打开项目时,把执行全局代码的顺序朝前提一下,在打开项目时(在连接外部数据源之前),能够首先执行全局代码,这样就可以解决这个问题了。或者,贺老师能够提供其他的解决办法也行!