您的位置:首页 > 编程语言 > VB

C#调用vb dll 参数传递--数组、整型等(c#调用com)

2010-10-11 14:25 746 查看
本例子中实现在c#中调用由vb生成的dll文件(com调用)

例子由两个主要步骤组成:一 为在vb中生成有参数和返回值的dll ;二 是在c#中引入步骤一中生成的dll,然后生成实例调用

 

步骤一:首先在vb中新建一个ActiveX DLL 工程,



 

然后在类模块文件中填入以下代码

 
'********************基础类型的测试*******************
Public Function fncStrTest(ByVal str As String) As String
fncStrTest = str
End Function
Public Function fncDoubleTest(ByVal str As String) As Double
fncDoubleTest = str
End Function
Public Function fncIntTest(ByVal str As String) As Integer
fncIntTest = str
End Function
'********************基础类型的测试*******************

'********************数组的测试*******************
Public Function fncArryTest(ByRef str() As String) As String
fncArryTest = str(0)
End Function
'********************数组的测试*******************

Public Function fncVariantTest(ByVal str As Variant) As Variant
fncVariantTest = str
End Function


 

并将工程名修改为DLLTest,类模块名为clsTest



 

 

然后生成名为DLLTest.dll的动态链接库文件

 

步骤二:在vs2010中新建一个windows窗体应用程序

首先将生成的dll进行注册,然后在新建的工程中加入该dll的引用



并在窗体上增加两个按钮,分别用于测试基本类型和数组的传递,分别在两个按钮的点击事件中的代码如下

private void btnTestStr_Click(object sender, EventArgs e)
{
DLLTest.clsTest test = new DLLTest.clsTest();
String str = "55";
String msg = test.fncVariantTest(str);
MessageBox.Show(msg);
}

private void btnTestVariant_Click(object sender, EventArgs e)
{
DLLTest.clsTest test = new DLLTest.clsTest();
Array array = Array.CreateInstance(typeof(string), 2);
array.SetValue("msg1",0);
array.SetValue("msg2", 1);
String t = test.fncArryTest(array);
MessageBox.Show(t);
}


 

编译运行后弹出结果,证实参数正确传递,调用dll成功



 本例子中的所有代码可到此处下载:http://download.csdn.net/source/2747484
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# dll vb function string 测试