以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- 重新编译COM组件必须重启金字塔? (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=154847) |
-- 作者:分析者 -- 发布时间:2017/6/7 22:51:28 -- 重新编译COM组件必须重启金字塔? 我是通过C#编写COM组件的,每次修改C#源代码并重新编译后,要想使新的COM组件生效,必须重启金字塔并重新注册COM组件,否则金字塔还是执行原来的COM组件,这样挺麻烦的,很影响我编写代码的效率。 请问,有什么办法可以不重启金字塔,也可以直接使用新编译出来的COM组件(DLL文件)。
|
-- 作者:王锋 -- 发布时间:2017/6/8 9:11:51 -- 你的COM通过VBA调用的?如果是的话无需重启金字塔的,只要停止VBA引擎再重新开启应该就可以的。但是前提条件是你要调用完DLL后,及时释放掉 |
-- 作者:分析者 -- 发布时间:2017/6/8 14:23:13 -- “调用完DLL后,及时释放掉”的语句就是“set add = nothing”吗? |
-- 作者:王锋 -- 发布时间:2017/6/8 14:52:02 -- 是的 |
-- 作者:分析者 -- 发布时间:2017/6/8 16:10:56 -- 发现还是不行啊,VBS程序最后执行了set add = nothing,但还是必须重启金字塔才能使用新编译的COM组件。 |
-- 作者:王锋 -- 发布时间:2017/6/8 16:15:42 -- 有没有停止VBA引擎 |
-- 作者:分析者 -- 发布时间:2017/6/8 16:30:34 -- 有的啊 |
-- 作者:王锋 -- 发布时间:2017/6/8 16:34:20 -- 那就没法了 |
-- 作者:pel46585 -- 发布时间:2017/6/14 17:19:34 -- 查看你的com组件,是否在Set add = Nothing后,不能正确退出.比如,你的com组件有不可结束的代码在里面等. 可以在vb或vba环境下,测试这个Set add = Nothing,测试你的com组件
[此贴子已经被作者于2017/6/14 17:20:33编辑过]
|