我无法将C#代码翻译成VB 6(在looooong中没有这样做)。有没有一种解决方案,我可以在.NET中编写代码,然后让VB6调用该函数?有没有办法让VB 6应用程序调用.NET程序集?
1
A
回答
5
是的,您可以使用regasm.exe实用程序将您的托管程序集作为COM对象公开。为了使这些类可见,组件或各个类需要使用[ComVisible(true)]
属性进行标记。一旦该组件暴露为COM对象,就可以像使用任何标准COM对象一样从VB6中使用它。
3
暴露你的.NET方法COM,你需要创建一个接口:
[Guid("CF4CDE18-8EBD-4e6a-94B4-6D5BC0D7F5DE")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
[ComVisible(true)]
public interface IFoo {
[DispId(1)]
string MyMethod(string value);
}
你的类会从接口派生:
[Guid("7EBD9126-334C-4893-B832-706E7F92B525")]
[ClassInterface(ClassInterfaceType.None)]
[ComVisible(true)]
[ProgId("MyNamespace.Foo")]
public class Foo: IFoo {
public string MyMethod(string value){
return somestring;
}
}
从VB6,您的通话将看起来像这样:
Dim oFoo as New Foo
dim sReturn as string
sReturn = oFoo.MyMethod("someValue")
相关问题
- 1. 有没有办法让python应用程序无法运行?
- 2. 有没有办法编程“重启”.net程序集?
- 3. 有没有办法“热发布”.NET核心应用程序?
- 4. 有没有办法让本机操作系统应用程序
- 5. 有没有办法让C#中的应用程序iphone
- 6. 有没有办法让phonegap应用程序更安全?
- 7. 有没有办法让Java应用程序获得root权限?
- 8. 有没有办法让模糊Swing应用程序?
- 9. 有没有办法在javaFX应用程序中集成html IFrame
- 10. 有没有办法解决.NET代码之外的程序集?
- 11. 有没有办法调试iTunes应用程序? “
- 12. 有没有办法在heroku上调试play2应用程序?
- 13. 有没有办法让所有的应用程序安装在用户的iPhone?
- 14. 有没有办法让我的C++应用程序的进程ID?
- 15. 有没有办法将.NET 4库编组为.NET 2应用程序?
- 16. 有没有办法从C#.NET程序集(ActiveX)发送消息到VB6应用程序?
- 17. 有没有办法远程查看Swing应用程序?
- 18. 有没有办法找出程序集从一个相关程序集中使用哪个.net符号?
- 19. 有没有办法在.NET Framework 2中使用C#应用程序中的linq?
- 20. 有没有办法让应用程序一起使用Web Socket和XMPP?
- 21. 有没有办法让用户进入另一个应用程序的市场?
- 22. 有没有办法让WinRT应用程序测量自己的CPU使用率?
- 23. 有没有办法让SendInput与使用GDK的应用程序一起工作?
- 24. 有没有办法让ExtJS 4.0应用程序中的所有控制器
- 25. 有没有什么办法让我的应用程序从Apple地图应用程序获取书签列表?
- 26. 有没有办法让我的应用程序将其图标推送到其他应用程序?
- 27. 有没有办法让Silverlight应用程序和Flash应用程序进行通信?
- 28. Facebook应用程序:有没有办法让facebook存储应用程序的历史记录?
- 29. 有没有办法允许Delphi应用程序使用Hazelcast?
- 30. 有没有办法用python开发OS X应用程序?