C#引用ActiveX控件问题

lhsxsh 2008-04-19 10:40:05
regsvr32 加.ocx的目录所在及文件
如:regsvr32 c:\DJAcsAPI.ocx

控件下载在 :http://download.csdn.net/user/lhsxsh
---------(ActiveX控件在NET中的使用)
C语言的结构定义代码
typedef struct
{
DJ_S8 m_s8ServerIp[32]; /*XMS server ip*/
DJ_U32 m_u32ServerPort; /*XMS server port*/
DJ_S8 m_s8UserName[32]; /**/
DJ_S8 m_s8UserPwd[32]; /**/
}ServerID_t;/**/
/**/
ServerID_t cfg_ServerID;

/*C代码调用acsOpenStream 建立与ACS服务器的连接*/
r = XMS_acsOpenStream ( &g_acsHandle, &cfg_ServerID, g_u8UnitID, 32, 32, cfg_s32DebugOn, NULL);
-----------------
/*提供商把C的代码封装成ActiveX控件 ,在vc2005 NETc# 引用时如下 */
AcsOpenStream(ref int acsHandle, ref int serverID, short u8AppID, int u32SendQSize, int u32RecvQSize, int s32DebugOn, ref int privateData);
现在有一个地方不明白的就是 :
C的代码第二个参数是一个结构体。取地址运算符(&) ,但在NET中怎么会变成 INT类型?
在NET中我们如何做到把结构体变成一个 ref int 类型来用。
ActiveX控件定义的事件,我们NET又如何引用? 多谢请教。
(开发的文档serverID 是ServerID_t的结构类型。我NET代码中我们应该怎么处理?)

C#引用ActiveX控件问题
...全文
239 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhsxsh 2008-04-23
  • 打赏
  • 举报
回复
我找到办法了。
lhsxsh 2008-04-23
  • 打赏
  • 举报
回复
自己顶到底。
lhsxsh 2008-04-22
  • 打赏
  • 举报
回复
这个问题很难嘛? 自己顶到底。
lhsxsh 2008-04-21
  • 打赏
  • 举报
回复
C的代码调用上面写了很清楚了,你们认真看下。
如果今天还不能解决这个问题,我只好用DELPHI来写了。但我真的很想用C#来写个程序。希望大家能支持。
delphi 的调用代码是 :integer((pinteger(@cfg_ServerID))^)
pinteger是C的空指针的意思

要解除指针引用(即取出指针所指区域的值),C 的语法是 (*ptr),Object Pascal则是 ptr^。


取某对象的地址并将其赋值给指针变量,C 的语法是
ptr = &Object;
Object Pascal 则是
ptr := @Object;
也只是符号的差别而已。
希望大家能支持,分不够再加。 如果今天还不能解决我只放弃c# 用 D来写了
lhsxsh 2008-04-21
  • 打赏
  • 举报
回复
在DELPHI 里头的处理是 转化为空指针类型,再转化为INT
rockjie 2008-04-21
  • 打赏
  • 举报
回复
地址就是整形值

如果变量是ref的,那么C++里面也要是ref的
yilanwuyu123 2008-04-21
  • 打赏
  • 举报
回复
MARK
grearo 2008-04-21
  • 打赏
  • 举报
回复
AcsOpenStream(ref int acsHandle, ref object* serverID, short u8AppID, int u32SendQSize, int u32RecvQSize, int s32DebugOn, ref int privateData);  
lhsxsh 2008-04-21
  • 打赏
  • 举报
回复
ocx 与DLL调用是一样的嘛? 也是用 DllImport?
应该不一样吧,在DELPHI中两都的操作是不一样的。调用DLL时也要先声明下函数明,而调用OCX就不用了。
那个专家有C#下有用户OCX的人来帮我解答。问题解决了我把所有的分都给他。不够我再加。
lhsxsh 2008-04-21
  • 打赏
  • 举报
回复
还有没人会解决嘛?汗啊
CathySun118 2008-04-20
  • 打赏
  • 举报
回复
http://www.cnblogs.com/kriss/archive/2005/02/16/104700.html
ojekleen 2008-04-19
  • 打赏
  • 举报
回复
sf

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧