c#调用activex控件参数传递问题
我有一个c++写的activex控件(myactivex.dll),接口Func1(BYTE* pData);c#程序加载activex控件后,接口被转换为Func1(ref byte pData);
c#调用代码:
byte [] btStr = (new ASCIIEncoding()).GetBytes("abcd");xx.Func1(ref btStr[0]);
在x86系统上,参数可以正常传递,但在x64上,却只能传递一个字节过去。
问题:
1.c#是如何转换参数的,其原理是什么?
2.在不改动activex控件的前提下,该怎么解决此问题?
请各位大神不吝赐教,多谢。 c# activex 参数传递 --------------------编程问答-------------------- 如果x86正常,那么最简单的就是限制.NET的程序集运行在32bit下。 --------------------编程问答--------------------
感谢caozhy的回复。
我对c#不熟悉,activex控件有x86和x64的,这个c#程序只是个演示示例。所以我想弄明白x64下该怎么弄。 --------------------编程问答-------------------- 64bit系统上指针是64bit的。你不能改activex,只能这样了。
补充:.NET技术 , C#