我正在尝试创建一个C ++ ActiveX并在我的C#控制台中使用它。
我的ocx项目的名称为“ test4”
这是我在C ++中的功能:
int Ctest4Ctrl::TestMyMethod( int param1 )
{
return 2000 + param1;
}
我使用AxImp将ocx转换为托管dll: Axtest4Lib.dll 和 test4Lib.dll
我导入了Axtest4Lib.dll
和System.Windows.Forms
作为项目参考。
我使用以下代码执行此功能:
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
其他信息:指定的参数数量不匹配 预期的数量。
我在做什么错了?
谢谢