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呢?哎,散分消愁。
顺便希望Delphi 2010 Update2早点bug-free...
sf
多谢,DELPHI新手,请多关照
jf
引用
多谢,DELPHI新手,请多关照
人人都是新手,只有这样心态才 ......
就是在柱形图中分析各个比例。
在表中有好几百个类似的数据。我想动态的显示。就想饼形图那样自动计算各个元素的比例。能解决吗引用
你把值算成比例的不就行了吗,为什么非要让图形区自动实现呢
......
因为是WIN7系统,程序运行时有的设置需要触及到UAC。
但是网上找的方法都不行,有的方法使用了根本没反应;另外虽然能产生uac盾牌,但在编译时会出现一个错误:
[DCC Error] E2161 Warning: Duplicate ......
如何让DELPHI数据库程序支持阿拉伯语?原来旧版本软件程序已经支持多国语言,但是没有阿拉伯语,现在想加阿拉伯语进去,没有原程序,只有EXE文件和一些数据库Language.DB文件和系统运行时支持的文件,其中有个Langua ......