Я пытаюсь создать C ++ ActiveX и использовать его в моей консоли C #.
- Я создал MFC ActiveX с помощью этого урока: https://www.codeproject.com/Articles/32772/Create-and-Use-a-C-ActiveX-component-within-a-NET
Имя моего ocx projcet - "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
Дополнительная информация: количество указанных параметров не совпадает
ожидаемое число.
Что я делаю не так?
спасибо