请各位帮忙,我做了一个,但vb6不能用~?

解决方案 »

  1.   

    托管dll利用.NET Framework的工具做一个com包装就可以了。如果希望在vb中直接引用在编译dll的时候在工程里面有一个build的选项属性可以warp com+的,这是可以生成一个tlb文件,可以在vb中直接引用。使用regasm32(好像叫这个名字)可以将一个.net dll注册为一个com组件。
      

  2.   

    ------Calculator.cs-----------
    using System;
    using System.Reflection;[assembly: AssemblyKeyFile("test.key")]
    namespace Programming_CSharp
    {
        public class Calculator
        {
            public Calculator( )
            {
                
            }
            public Double Add (Double left, Double right)
            {
                return left + right;
            }
            public Double Subtract (Double left, Double right)
            {
                return left - right;
            }
            public Double Multiply (Double left, Double right)
            {
                return left * right;
            }
            public Double Divide (Double left, Double right)
            {
                return left / right;
            }
        }
    }        
    -----------------------------sn -k test.key
    csc /t:library /out:ProgrammingCSharpDLL.dll Calculator.cs
    gacutil /i ProgrammingCSharpDLL.dll----------test.vbs----------
    dim calc
    dim msg 
    dim result 
    set calc = CreateObject("Programming_CSharp.Calculator") 
    result = calc.Multiply(7,3) 
    msg = "7 * 3 =" & result & "."
    Call MsgBox(msg)
    Regasm ProgrammingCSharpDLL.dll
      

  3.   

    粘错位了。Regasm ProgrammingCSharpDLL.dll是最后一部。matadate 输入注册表
      

  4.   

    用VB调用用C#作的dll时,是否在机子上同时安装有C# 和VB 呢??