`
un268un
  • 浏览: 11570 次
社区版块
存档分类
最新评论

vb 调用c#做的com 组件

 
阅读更多

   vb 调用c#做的com 组件 1:建立c# 项目 (注意项目必须含有接口,其他类应该实现该接口,才可以在其他语言中用该com组件) 2:将 AssemblyInfo.cs 里的 [assembly: ComVisible(false)] 改为 true 3:项目-属性-生成里将:为com interop 注册 选种 4:生成后就可以在其他语言中引用或该组件。 一般代码如下: using System; using System.Collections.Generic; using System.Text; namespace UseMethod { public interface IField { void SetField(UseMethod.Fields f); UseMethod.Fields GetField(); UseMethod.Fields GetSetField(UseMethod.Fields f); int Add(int i, int j); } public class FieldAction:IField { public FieldAction() { //如果使用设计的组件,请取消注释以下行 //InitializeComponent(); } public void SetField(UseMethod.Fields f) { Fields f1 = new Fields(); f1.city = "city"; f1.country = "country"; f1.myCity = "nycity"; f1.myName = "myName"; } public UseMethod.Fields GetField() { Fields f1 = new Fields(); f1.city = "city"; f1.country = "country"; f1.myCity = "nycity"; f1.myName = "myName"; return f1; } public UseMethod.Fields GetSetField(UseMethod.Fields f) { return f; } public int Add(int i, int j) { return i + j; } } public class Fields { public string city; public string country; public string myName; public string myCity; } } 当然可以有其他复杂的类,但是在操作时,最好用强类型,以便于识别! 将生成的UseMethod.tlb 即.tlb文件引用到vb的项目中,然后 在vb6中调用: Private Sub cmdObject_Click() Dim meth As UseMethod.IField Dim met As UseMethod.FieldAction Dim result As UseMethod.Fields Dim fi As UseMethod.Fields Set fi = New UseMethod.Fields Set met = New UseMethod.FieldAction With fi .city = "city" .country = "country" .myName = "myName" .myCity = "MYcITR" End With Set meth = met txtStr.Text = meth.Add(8, 9) Set result = meth.GetSetField(fi) txtInOut.Text = result.city & result.country //注意这里的属性应和c#里定义的一样 MsgBox "soapClient3.AddressName", vbDefaultButton1, "提示" End Sub 
分享到:
评论

相关推荐

    VB调用C# Dll文件

    在IT领域,跨语言通信是常见的需求之一,本篇文章主要探讨如何在VB6.0环境中调用C#编写的Dll文件。VB6.0和C#属于不同平台,但通过COM(组件对象模型)和.NET Framework的支持,可以实现两者之间的交互。 首先,我们...

    VB6.0调用C# Dll解决方法

    添加引用后,VB6就可以像调用本地COM组件一样调用C# DLL中的方法了。例如: ```vb Dim csObject As New MyClass Dim result As Integer result = csObject.MyMethod(10) ``` 5. **注意事项**: - 确保C#...

    vb调用c#的dll

    ### VB调用C# DLL的详细指南 在跨语言编程中,经常需要让不同语言编写的组件能够相互协作。在.NET框架中,VB.NET和C#是两种常用的开发语言,它们各自有着不同的语法和特性,但都能够在同一平台上运行。本文将详细...

    C# 编写DLL 让VB调用

    在.NET框架下,C#和VB.NET都是微软...以上就是关于"C#编写DLL让VB调用"的知识点,涵盖了创建C# DLL、接口设计、VB引用和调用DLL的方法。通过理解这些概念,开发者可以有效地在不同.NET语言之间实现代码共享和互操作。

    C#引用COM组件调用Matlab

    C#引用COM组件调用Matlab,可以实现图像嵌入C#,能操作Matlab实现大多数功能,本例子实现了显示正弦图,显示三维螺旋线图等5种操作。 本人习惯vb.net编程,从vb.net转过来,vb.net不需要引用即可 引用COM组件Matlab ...

    C# 如何调用VB6.0编写的dll.doc

    "C# 如何调用 VB6.0 编写的 dll" 在本文中,我们将探讨如何在 C# 项目中调用 VB6.0 编写的 dll。这个问题非常重要,因为在实际开发中,我们经常需要在不同的平台和语言之间进行交互。 首先, let's talk about VB...

    c++调用C# COM 参数是结构体数组

    COM 组件可以被其他语言调用,如 C++、VB 等。在本例中,我们使用 C# 创建了一个 COM 组件,该组件包含一个方法 TestReturnValueArray,该方法返回一个结构体数组。 在 C# 中,结构体数组是使用数组类型来定义的,...

    VB6調C#輸出返回值

    然而,在某些项目中,开发者可能需要在VB6中调用C#编写的代码或者反之,这称为跨语言互操作性。本教程"VB6调C#输出返回值"聚焦于如何在VB6中调用C#函数,并获取返回值,这对于初学者来说是一次宝贵的学习机会。 ...

    C# 如何调用VB6.0编写的dll (1).doc

    C# 如何调用 VB6.0 编写的 dll 在本文中,我们将讨论如何在 C# 项目中调用 VB6.0 编写的 DLL。这是一个常见的问题,因为很多遗留系统都是使用 VB6.0 编写的,而新的系统则使用 C#。要调用 VB6.0 编写的 DLL,我们...

    VB6调用C#(VS2010)的webservics

    VB6调用C#(VS2010)编写的webservics 1.主要演示了互相传递数组 2.在服务端创建目录 3.返回修改后的字符串

    C#/VB.NET 调用C++的COM组件/C++的DLL的方法

    它展示了如何让COM组件或C++原生DLL被C#/VB客户端调用, 例子里包含使用输入或输出参数(结构/数组)。 使用注意: 1、调用COM组件需要先注册对应的组件DLL(CppSvc.DLL) 2、VB.net/C#工程需要.net framwork 4.8...

    JS调用c#编写的DLL 源代码

    这种跨语言的通信方式在某些特定场景,如在浏览器环境中扩展功能,或者利用已有的C#组件时非常有用。需要注意的是,由于安全限制,这种方法主要适用于桌面应用或旧版IE浏览器,现代Web开发更多地倾向于使用Web API、...

    免注册调用COM组件方法二-Assembly Manifests

    众所周知,通过Assembly Manifests,我们可以免注册调用各种进程内的COM组件...这个工具本身就是通过Assembly Manifests来免注册调用COM(TLBINF32.DLL)和OCX(COMDLG32.OCX)来实现的,具体怎么实现请参考里面的VB6源码。

    VFP调用C#编写的DLL

    ### VFP调用C#编写的DLL #### 知识点一:VFP与C#之间的交互机制 在软件开发领域,不同编程语言之间能够互相通信是非常重要的能力。本示例展示的是如何让Visual FoxPro (VFP) 调用C#编写的动态链接库(DLL)。这一...

    VC开发的COM让VC、VB、C#调用

    这里介绍了VC调用COM,VB调用COM,C#调用COM COM是用VC开发的,在这个DEMO里充分体现了组件重用的意义 使用前要先注册COM,具体方法如下 注册COM regsvr32 c:\xxx.dll 注销COM regsvr32 c:\xxx.dll /u

    vb6.0调用webservice详解

    首先,VB6.0调用Web服务有两种主要方法:一是通过SOAP(简单对象访问协议),二是使用COM组件或ActiveX控件。本文将以SOAP为例进行详细讲解,因为它是跨平台的、与语言无关的通信协议,适合于不同系统间的交互。 ...

    用友 u8 com vb.net to c# 接口(自制api供应链)

    通过.NET互操作性,VB.NET编写的COM组件可以在C#项目中被调用。 8. **API调用**:在VB.NET的SCMCO类中,很可能包含了一系列方法,每个方法对应一个用友U8接口的调用,例如获取供应商信息、创建采购订单等。 9. **...

    C#调用VB的演示代码

    本示例探讨的主题是如何在C#代码中调用VB.NET编写的组件或方法,这对于理解和优化多语言混合编程的项目至关重要。C#和VB.NET都是.NET框架下的编程语言,它们共享相同的运行时环境——Common Language Runtime (CLR)...

    vb6、c#、java的jawin-2.0调用c#做的dll

    标题中的“vb6、c#、java的jawin-2.0调用c#做的dll”涉及到了跨语言调用的技术,主要集中在VB6、C#和Java之间如何通过DLL(动态链接库)进行交互。这是一个重要的软件开发课题,因为不同编程语言之间的互操作性有助...

    C#写COM组件

    最后,为了在其他语言中调用C#的COM组件,你需要了解如何在这些语言中使用COM接口。例如,在VBA中,你可以使用`CreateObject`函数,而在VB.NET中,你可以使用`Activator.CreateInstance`方法。 总的来说,C#编写COM...

Global site tag (gtag.js) - Google Analytics