小编vis*_*ual的帖子

COM Interop(如何通过经典ASP将数组传递给com)

我需要为我的经典asp创建一个com对象,因为我可以创建一个.net程序集并将它与'interop'一起使用,所以我继续创建一个像这样的.net程序集: -

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Web;


namespace LMS
{

[ComVisible(true)]
public class Calc
{

    public int Add(int val1, int val2, out string[] outputz)
    {
        int total = val1 + val2;
        outputz = new string[5];
        outputz[1] = "test2";
        outputz[2] = "test3";
        outputz[3] = "test4";
        outputz[4] = "test5";
        return total;
    }


}
}
Run Code Online (Sandbox Code Playgroud)

接下来我做了通常的构建,运行:gacutil和RegAsm

在我的经典asp页面中我有这个: -

Dim params  
dim objPassport3
set objPassport3 = Server.CreateObject("LMS.Calc")
comTest2 = objPassport3.Add(1,1,params)
Run Code Online (Sandbox Code Playgroud)

我得到错误: …

.net c# com-interop asp-classic

6
推荐指数
1
解决办法
3213
查看次数

标签 统计

.net ×1

asp-classic ×1

c# ×1

com-interop ×1