delphi调VC++
extern "C" __declspec(dllexport) long __stdcall Readcard(__int16 intcom, long baud,unsigned char *vskh, int *vlql, __int16 *vics,__int16 *viklx)
请问,这个在DELPHI里怎么定义
int *vlql, __int16 *vics,__int16 *viklx
主要是这三个该用什么类型与之对应。
我是这样定义的。
var vlql:integer;var vics,viklx:smallint
但是这样给我返回的值是有问题的。求解,谢谢各位。
function Readcard(intcom: SmallInt; baud: longint; vskh: PUCHAR; vlql: pinteger; vics: PSmallInt; viklx: PSmallInt): longint; stdcall;
external 'xxx.dll'
说错话了,PSmallInt在System中是有定义的,由于在帮助中没有搜索到还以为没有呢。
这样的话应该去掉
type
PSmallInt=^SmallInt;
这两行,这样与1楼的定义就一致了。
楼上方法行不通啊。
使用Pinteger和Psmallint的话,直接就报内存错误。
unsigned char * 用pchar
但是int* -> var X: Integer
__int16* -> var X: SmallInt
使用这两个返回的值是错的。动态库肯定是对的。就是不知道是那个地方的参数错了。
PUCHAR = ^Byte; //在windows有定义
你pinteger是怎么赋值的?
不行改成这样,你应该是地址没赋值对问题
function Readcard(intcom: SmallInt; baud: longint; vskh: PUCHAR; var vlql: integer; var vics: SmallInt; var viklx: SmallInt): longint; stdcall;
external 'xxx.dll'
谢谢各位已经搞定了。正确的是
var vlql:integer;var vics,viklx:smal
相关问答:
Delphi 像亡国的南宋,试问这语言还有前途吗?
Win32开发不如C#;
面像对像开发不如JAVA;
系统开发不如VC++6.0;
能用性不如VB6.0;
不支持Web开发。。。
出个Delphi 2010免费一年会有人用吗?
......
由于我设计得不够完善,在给Form1放上图片的时候,由于Button的底色是白色,和我图片的颜色不符,怎么把Button的底色改成图片的
button不能改颜色的,但可以用如下方法变通一下:
1 添加一个panel并改变颜色; ......
手头有一个老的产品,delphi 6连接oracle,取sys.aud$系统表里面的数据
用Adoconnection+adodataset,
用system用户,Adoconnection 连接成功,但如果在adodataset里面写:
SELECT * from SYS.AUD ......
环境winXP,delphi 7, postsgresql 8.4, 已安装odbc for postgresql
连接方式ado -> odbc -> postgresql
Delphi(Pascal) code:
con1.ConnectionString := 'Provider=MSDASQL.1;Extended Pr ......
两台机器 第一台 delphi程序接收 (接收一个name) 第二台 php页面发送信息(如 发送一个name)
谁能给我一些相关程序??谢谢
来人啊 救命呢
如需要阅读该回复,请登录或注册CS ......