关于EXE程序内的自动化接口
土著巫师 2006-12-18 10:25:09 最近做了一个EXE程序,里面加了一个自动化接口供VB的程序调用,使用期间发现退出时有异常发生,初步检查下来发现: 当VB程序触发我的EXE程序起动时,我程序的主窗口的FormCreate事件和FormShow事件都正常执行,后面的通讯工作(有数据相互传输)也都正常,只是当VB的程序释放自动化接口后我的程序退出时FormCloseQuery和FormClose事件没有执行,要命的是FormDestroy事件也没有执行,直接导致我FormCreate事件里申请的资源得不到释放,生成的线程也得不到正常终止.不出问题才怪呢.闷.
附1: 如果我的程序主动起动后,其它程序再调用我EXE程序里的接口时发生错误(比如说这个程序有毛病系统直接结束了它的执行),这时候我的程序再主动关闭窗口退出时就会有一个COM Server Warning窗口弹出: There are still active COM object in this application. One or more clients have references to these objects, so manually closing this application may cause those client application(s) to fail.Are you sure you want to close this application?查了一下,相关源代码是写在自动化接口的模板里的,好象没有什么编译开关可以关闭它,不知道各位朋友是如何处理类似的事件的?
附2: 结了一个前两天的贴子,明明是给回贴朋友给了分,可是贴子结了后,却发现每个回贴后的得分为0分,闷.
http://community.csdn.net/Expert/TopicView3.asp?id=5224774