DLL文件名:join.dll
以下是头文件join.h中这个函数的原型函数原型
int cmpp_login(conn_desc *conn,cmppe_login *cl);其中conn_desc 定义如下:
ttypedef struct conn_desc conn_desc;
struct conn_desc{
dpl_socket_t sock;
unsigned long seq;
int status;
char act_flag;
};cmppe_login 定义如下:
struct cmppe_login{
char icp_id[CMPPE_MAX_ICP_ID_LEN+1];
char icp_auth[CMPPE_AUTH_LEN+1];
dpl_uint8_t icp_bind_type;
dpl_uint8_t if_version;
dpl_uint32_t icp_timestamp;
};
以下是头文件join.h中这个函数的原型函数原型
int cmpp_login(conn_desc *conn,cmppe_login *cl);其中conn_desc 定义如下:
ttypedef struct conn_desc conn_desc;
struct conn_desc{
dpl_socket_t sock;
unsigned long seq;
int status;
char act_flag;
};cmppe_login 定义如下:
struct cmppe_login{
char icp_id[CMPPE_MAX_ICP_ID_LEN+1];
char icp_auth[CMPPE_AUTH_LEN+1];
dpl_uint8_t icp_bind_type;
dpl_uint8_t if_version;
dpl_uint32_t icp_timestamp;
};
解决方案 »
- 关于ADOQUERY调用SQL SERVER 里的存储过程的问题....
- WindowMediaPlay控件为什么不能动态改变大小?
- Delphi程序设计时字体的问题
- 如何读出指针在63位以后的67位数据,如现在是ico文件。我的例子如下。
- 有个贴子发了几个月没人回答,大家来UP下,我也给分,我想结贴
- 如何给NT发信息?(程序实现)
- 一个简单的问题,关于数据类型的转换!!!HELP!!
- 关于Rational系列工具及Visio 2002的下载
- 国内各大优秀免费源码下载站集合!
- 打印问题(用A3纸横着打,且横着放纸)
- delphi+oracle 批量插入数据问题
- 这种问问题的方法,这个帖当年怎么就没火起来??(无意中翻出陈年旧历)
=========================
可以,但数据类型有限定
ttypedef struct conn_desc conn_desc;
struct conn_desc{
dpl_socket_t sock;
unsigned long seq;
int status;
char act_flag;
};cmppe_login 定义如下:
struct cmppe_login{
char icp_id[CMPPE_MAX_ICP_ID_LEN+1];
char icp_auth[CMPPE_AUTH_LEN+1];
dpl_uint8_t icp_bind_type;
dpl_uint8_t if_version;
dpl_uint32_t icp_timestamp;
};conn_desc = record
sock,
seq,
status: Integer;
act_flag: char;
end;cmppe_login = record
icp_id : array [1..CMPPE_MAX_ICP_ID_LEN+1] of char;
cp_auth : array [1..CMPPE_AUTH_LEN+1] of char;
icp_bin_typ, if_version: char;//dpl_uint8_t不知道是什么类型,看样子好像是8位的
icp_timestamp: Integer; //估计是32位,你自己的程序,自己看好大小
end;
function cmpp_login(var conn_desc conn;var cmppe_login cl):Integer;cdecl;
{
注意: c和delphi中或许结构体的对齐方式不一致,如果实在不行,可以直接用指针移位的办法来取参数
参数入栈也有别,保证一致即可,vc编译出来的引出函数如果不加extern "C"会出现很奇怪的名字
总之,3点保证: 结构体一致,参数入栈方式一致,名字一致即可调用
}