C# 调用 C++ com组件问题
在VC2005中编写了个组件,实现加法计算
C++ 代码
long addfun(long a1,long a2)
{
retrun a1+a2;
}
C#这边注册ocx并引用代码如下
private void Form1_Load(object sender, EventArgs e)
{
ActiveXDemoLib.ActiveXDemoClass ax = new ActiveXDemoClass();
int A1 = 20, A2 = 30, A3 = 0;
A3 = ax.AddFun(A1, A2);
MessageBox.Show(A3.ToString());
}
问题:单步调试发现程序执行到ADDFUN调用就retrun了。感觉是C++代码把C#函数给提前retrun了请问大侠指导一二。感激不尽。
------解决方案--------------------出异常了吧,你的参数类型都不匹配,你看看VS的输出,肯定是有异常。
------解决方案--------------------你看看A3的值正确返回了吗
------解决方案--------------------感觉是类型不匹配,发生异常了。
A3用int64试下看怎么样
------解决方案--------------------
C++的在64位下可不对应C#的int,而是long