AxImp DLL:指定的参数数量与预期的数量不匹配

时间:2019-03-30 22:32:34

标签: c# c++ activex

我正在尝试创建一个C ++ ActiveX并在我的C#控制台中使用它。

  1. 我通过本教程https://www.codeproject.com/Articles/32772/Create-and-Use-a-C-ActiveX-component-within-a-NET
  2. 创建了MFC ActiveX。

我的ocx项目的名称为“ test4”

这是我在C ++中的功能:

int Ctest4Ctrl::TestMyMethod( int param1 )
{
    return 2000 + param1;
}
  1. 我使用AxImp将ocx转换为托管dll: Axtest4Lib.dll test4Lib.dll

  2. 我导入了Axtest4Lib.dllSystem.Windows.Forms作为项目参考。

  3. 我使用以下代码执行此功能:

32位控制台应用程序:

[STAThread]
    static void Main(string[] args)
    {
        var ax_ctl = new Axtest4();

        ax_ctl.CreateControl();

        int func_test = ax_ctl.TestMyMethod((int)2);

        Console.WriteLine("output is " + func_test.ToString());

        Console.ReadKey();
    }

它编译没有错误,但是在运行时出现此错误:

  

类型的未处理异常   “ System.Reflection.TargetParameterCountException”发生在   mscorlib.dll

     

其他信息:指定的参数数量不匹配   预期的数量。

我在做什么错了?

谢谢

0 个答案:

没有答案