VB调用C# DLL 传递数组参数问题
2013-10-18 09:42
477 查看
C# 端
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Collections;
namespace DonetToVBDll
{
//[ComVisible(true)]
//[Guid("F1DAF282-2FBC-4343-8CA7-EF8E277E0EEA")]
[ProgId("DonetToVBDll.clsComServer")]
[ClassInterface(ClassInterfaceType.None)]
public class clsComServer : IComServer
{
public int Add(int x, int y)
{
return x + y;
}
public int Subtract(int x, int y)
{
return x - y;
}
public string SayHello(string strName)
{
return strName + "你好,我是DoNetDLL,欢迎调用";
}
public string[] TransArray(string[] arr)
{
for (int i = 0; i < arr.Length; i++)
{
arr[i] = arr[i] + "Trans";
}
return arr;
}
}
}
Vb端
Option Explicit
Private Sub cmdAdd_Click()
Dim objDoNet As clsComServer
Dim lngResult As Long
Set objDoNet = New DonetToVBDll.clsComServer
lngResult = objDoNet.Add(CLng(txtX.Text), CLng(txtY.Text))
MsgBox lngResult
End Sub
Private Sub cmdSayHello_Click()
Dim objDoNet As Object
Dim strResult As String
Set objDoNet = CreateObject("DonetToVBDll.clsComServer")
strResult = objDoNet.SayHello(txtName.Text)
MsgBox strResult
End Sub
Private Sub cmdSubtract_Click()
Dim objDoNet As Object
Dim lngResult As Long
Set objDoNet = CreateObject("DonetToVBDll.clsComServer")
lngResult = objDoNet.Subtract(CLng(txtX.Text), CLng(txtY.Text))
MsgBox lngResult
End Sub
Private Sub cmdTransArr_Click()
Dim arr() As String
Dim objDoNet As Object
Dim arrGet() As String
ReDim arr(3)
arr(0) = "Limin"
arr(1) = "Ronaldo"
arr(2) = "Lixuefen"
arr(3) = "Rivaldo"
Set objDoNet = CreateObject("DonetToVBDll.clsComServer")
arrGet = objDoNet.TransArray(arr)
MsgBox UBound(arrGet)
End Sub
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Collections;
namespace DonetToVBDll
{
//[ComVisible(true)]
//[Guid("F1DAF282-2FBC-4343-8CA7-EF8E277E0EEA")]
[ProgId("DonetToVBDll.clsComServer")]
[ClassInterface(ClassInterfaceType.None)]
public class clsComServer : IComServer
{
public int Add(int x, int y)
{
return x + y;
}
public int Subtract(int x, int y)
{
return x - y;
}
public string SayHello(string strName)
{
return strName + "你好,我是DoNetDLL,欢迎调用";
}
public string[] TransArray(string[] arr)
{
for (int i = 0; i < arr.Length; i++)
{
arr[i] = arr[i] + "Trans";
}
return arr;
}
}
}
Vb端
Option Explicit
Private Sub cmdAdd_Click()
Dim objDoNet As clsComServer
Dim lngResult As Long
Set objDoNet = New DonetToVBDll.clsComServer
lngResult = objDoNet.Add(CLng(txtX.Text), CLng(txtY.Text))
MsgBox lngResult
End Sub
Private Sub cmdSayHello_Click()
Dim objDoNet As Object
Dim strResult As String
Set objDoNet = CreateObject("DonetToVBDll.clsComServer")
strResult = objDoNet.SayHello(txtName.Text)
MsgBox strResult
End Sub
Private Sub cmdSubtract_Click()
Dim objDoNet As Object
Dim lngResult As Long
Set objDoNet = CreateObject("DonetToVBDll.clsComServer")
lngResult = objDoNet.Subtract(CLng(txtX.Text), CLng(txtY.Text))
MsgBox lngResult
End Sub
Private Sub cmdTransArr_Click()
Dim arr() As String
Dim objDoNet As Object
Dim arrGet() As String
ReDim arr(3)
arr(0) = "Limin"
arr(1) = "Ronaldo"
arr(2) = "Lixuefen"
arr(3) = "Rivaldo"
Set objDoNet = CreateObject("DonetToVBDll.clsComServer")
arrGet = objDoNet.TransArray(arr)
MsgBox UBound(arrGet)
End Sub
相关文章推荐
- C#调用vb dll 参数传递--数组、整型等(c#调用com)
- 用C#调用C++DLL时的字符串指针参数传递问题
- VB调用DLL时传递自定义类型数组参数注意
- C#调用C++写的dll 函数传递参数问题,请有经验的人详细描述
- C#调用C函数(DLL)传递参数问题
- 在VB中调用C/C++语言编写的dll,数组参数的传递
- vb.net调用vc动态库时传递数组参数应注意的问题
- C#调用C++dll 结构体参数传递问题
- C#调用C++dll 结构体参数传递问题
- C#调用C函数(DLL)传递参数问题
- C#调用c++的dll,结构体数组作为引用参数的传递方式
- VB调用C DLL时的参数传递问题
- 在VB中调用C/C++语言编写的dll,数组参数的传递
- C#调用C函数(DLL)传递参数问题
- 在VB中调用C/C++语言编写的dll,数组参数的传递
- C# 调用 C++ dll 函数 时传递字符串 需要注意的问题
- C#调用C++的dll关于复杂结构的参数传递
- C#调用DLL时参数问题的一点心得
- delphi调用C# WEB服务,参数传递问题 (转)
- C#调用C/C++动态库的参数传递---数组指针的传递