【发布时间】:2010-09-05 06:02:25
【问题描述】:
我日常工作的一部分是维护和扩展旧版 VB6 应用程序。通用引擎是用 C/C++ 编写的,VB6 使用这些函数来提高性能。
对于异步编程,C 接口是不够的,我们依靠 COM 控件向 VB6 触发事件。
我的问题是,当我在 VB6 中注册该控件时,VB 将该控件加载到内存中,并且在我退出 VB6 IDE 之前不会卸载它。由于控件一直在加载,我无法在VC6中重新编译它,因为DLL文件被锁定了。
我发现的一个解决方案是不在 VB 中启用该控件,而是使用带有我的控件全名的CreateObject()。那么问题是我必须将我的控件声明为一个对象,因为 VB6 对我正在使用的接口一无所知,而且我无法访问 IntelliSense,这很痛苦。
知道如何告诉 VB6 在退出应用程序后或直接在 IDE 中卸载控件吗?
【问题讨论】: