2011-05-23 108 views
3

我遇到第三方应用程序加载VB6 Active X DLL扩展集合的情况。这些扩展的唯一约束是它们包含一组预定义的IDispatch函数。.NET COM可见DLL与Active X DLL

是否有可能实现一个COM可见的.NET DLL,可以交替使用来代替Active X DLL,还是有Active X DLL和.NET可见COM DLL之间的根本区别,可以防止这种情况?

+0

是的,只有一种IDispatch。 – 2011-05-24 06:02:32

回答

2

完全可以在.NET中构建完整的ActiveX对象。这是可能的(尽管不是非常有可能),应用程序将去QI除了IDispatch之外的东西,但最好的办法就是尝试一下。请记住,使用.NET来处理这种类型的事件会带来性能影响和并行的框架版本影响。

+0

感谢您的回复Eric。你能解释一下“QI除了IDispatch之外的意思”是什么意思吗?我目前所拥有的标准.NET对象标记为COM可见,我已经成功地通过Powershell创建和使用。如果应用程序正在查询IDispatch,是否应该找到它?我要问的原因是,这不是作为现有形式的延伸。 – 2011-05-24 05:04:24