我有现成的托管和非托管软件使用由第三方提供的ActiveX组件来执行一些通信,但现在需要通过我的应用程序路由此通信。用.NET实现替换C++ ActiveX组件?
理想情况下,我可以安装一个.NET组件,它将公开完全相同的接口,并且可以用作插入式替换件。
但是,我遇到了我对COM的理解的限制,这种理解确实很少。
如何最好地确保我的接口实现与现有对象是100%二进制兼容的?
如何确保应用程序使用我的接口实现而不是传统的实现?这仅仅是注册我的实现,并注销旧版本的问题吗?
我该如何确保它是“插入式”的替代品,并且不需要更改现有软件?
如何确保非托管代码可以毫无问题地使用它?
注:我能够要求.NET 4.0中使用,如果这会让事情变得更简单。
编辑:赏金将在两天后移到这里How to debug why a VB6 application using my .NET ActiveX control does not register for events?。
谢谢,这正是我期待的回应。碰巧,组件以.ocx的形式出货。 作为一个感兴趣的问题,使得使用.NET实现难以/不可能实现的进程外服务器有什么不同? – 2010-06-15 10:45:00
编组是一个问题,你不能让.NET生成你需要的代理/存根。再次,如果你完全正确地做,那么你可以使用原始组件中的那些。不是.ocx – 2010-06-15 10:47:02