C#调用C++ OCX的方法
时间:2011-12-20
来源:互联网
小弟有一个C++的ocx文件,注册并添加到VS中后调用其中的某个方法。
如 public virtual bool SetUserData(ref short userDataBuffer, int userDataLen);
其中在C++中userDataBuffer的原型是wchar_t *类型,转换成ocx之后变成了ref short,我不知道如何进行调用,ocx文件无法修改,请问各位大牛怎么解决啊?急等啊。
如 public virtual bool SetUserData(ref short userDataBuffer, int userDataLen);
其中在C++中userDataBuffer的原型是wchar_t *类型,转换成ocx之后变成了ref short,我不知道如何进行调用,ocx文件无法修改,请问各位大牛怎么解决啊?急等啊。
作者: lzblqq300 发布时间: 2011-12-20
有没有这个COM的C++使用例子,贴出来看看。。。
作者: sdl2005lyx 发布时间: 2011-12-20
引用 1 楼 sdl2005lyx 的回复:
有没有这个COM的C++使用例子,贴出来看看。。。
有没有这个COM的C++使用例子,贴出来看看。。。
COM是封装好的,看不到内部代码。
我是这样用的
这是设置
string data = "这是用户数据";
char[] strs = data.ToCharArray();
short x = (short)strs[0];
if (ocx.SetUserData(ref x, strs.Length))
{
}
这个是读取的方法
string data = "";
char[] strs = new char[100];
short x = (short)strs[0];
int count = ocx.GetUserData(ref x, strs.Length);
if (count>=0)
{
for(int i=0;i<count ;i++)
{
data += (char)x;
x = (short)(x + sizeof (short));
}
}
其中count能够读出来是6,但data除了第一个字符外,其余都是乱码
作者: lzblqq300 发布时间: 2011-12-20
把ref short userDataBuffer改为string试试看,
作者: stonespace 发布时间: 2011-12-20
引用 3 楼 stonespace 的回复:
把ref short userDataBuffer改为string试试看,
把ref short userDataBuffer改为string试试看,
呵呵,我也想改啊,可是OCX是别人写的,代码改不了,ref short userDataBuffer是visual studio自动生成的,也改不了啊
作者: lzblqq300 发布时间: 2011-12-20
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28