在调用.net com dll时强制VB6编译器使用早期绑定
发布时间:2020-12-14 05:43:15 所属栏目:Windows 来源:网络整理
导读:我有一个用c#编写的com dll 运行Regasm之后 我可以从VB6调用这个dll,引用com dll. 在VB6中我有intellisense可用. 但是,当我按F5编译时,编译器不会在调用com dll时发现任何错误.它必须使用后期绑定. 如何让它使用早期绑定? 声明了接口 using System.Runtime.
我有一个用c#编写的com dll
运行Regasm之后 我可以从VB6调用这个dll,引用com dll. 在VB6中我有intellisense可用. 但是,当我按F5编译时,编译器不会在调用com dll时发现任何错误.它必须使用后期绑定. 如何让它使用早期绑定? 声明了接口 using System.Runtime.InteropServices; namespace combridge { [Guid("2f4b6041-91e3-4d9f-a9f5-9bd4adfd1789")] [ComVisible(true)] [InterfaceType(ComInterfaceType.InterfaceIsDual)] public interface IBridge { // methods go here } } 宣布主要类 [Guid("085777fa-9397-4cfd-843a-85ececb86789")] [ProgId("companyname.ComBridge")] [ClassInterface(ClassInterfaceType.None)] [ComVisible(true)] public class BridgeImplementation : IBridge { #region Public Implementation [DispId(1)] [ComVisible(true)] public string EchoTest(string message) { return string.Format("Echo '{0}' at {1:T}",message,DateTime.Now); } // etc [更新] 在VB6项目中,我引用了我创建的tlb文件 c:WINDOWSMicrosoft.NetFrameworkv4.0.30319/regasm /verbose /codebase /tlb:CommBridge.tlb ComBridge.dll 在VB6中我使用创建对象 Dim o As BridgeImplementation Set o = New BridgeImplementation o.EchoTest // executes o.NonExistantFunction // run time error 解决方法
在接口声明之上
我换了 [InterfaceType(ComInterfaceType.InterfaceIsDual)] 同 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 它解决了这个问题 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- installer – 预安装WinXP USB驱动程序,以便无需交互即可连
- xaml – 在Windows Phone上设置ListView的GroupStyle.Panel
- For循环中的错误级别(批处理窗口)
- windows-server-2008-r2 – 如何在Windows Server 2008 R2中
- 如何使用命令行清除Windows事件日志?
- windows-phone-7 – wp7 – 带有大量文本的TextBlock – 巨
- 如何使用wamp在windows上烘焙cakephp 2.0应用程序
- 每当用户更改密码时,Microsoft Outlook都会询问密码
- Windows批处理 – 每个脚本的漂亮打印JSON
- Windows – 使用带有RMM4的BMC尝试远程控制台重定向时出现“
推荐文章
站长推荐
- .net – 如何在Windows窗体中禁用更新表单?
- Windows Server Update Services(WSUS)4.0最需要
- 如何将带有Windows组策略的URL添加到客户端的“本
- windows-7 – 如果我安装了Windows7 RC,我需要稍
- windows – 为什么我不能关闭从maven插件嵌入的t
- windows-server-2008 – 如何在不在域上时规避或
- Microsoft Media Foundation官方文档翻译(12)《
- Windows Phone 7 – WP7上的宽瓦通知?
- Xaml无法创建“X”的实例
- windows-server-2008-r2 – Windows 2008上注册的
热点阅读