C#引用ActiveX控件问题
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控件问题
------解决方案--------------------sf
------解决方案--------------------http://www.cnblogs.com/kriss/archive/2005/02/16/104700.html
------解决方案--------------------
C# code
AcsOpenStream(ref int acsHandle, ref object* serverID, short u8AppID, int u32SendQSize, int u32RecvQSize, int s32DebugOn, ref int privateData);
------解决方案--------------------
MARK
------解决方案--------------------
地址就是整形值
如果变量是ref的,那么C++里面也要是ref的