易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关问答:

Python中的Unicode在Delphi如何还原成Gb2312?

已知Python 中:
s = unicode("测试", "gb2312")
s = u'\u6d4b\u8bd5'
print s
测试

在Delphi里面如何将\u6d4b\u8bd5这样的还原成Gb2312的汉字呢?
找到个方法
......

ACCESS的自定义函数在delphi里怎么用呢...

我在模块里自定义了一个函数:stradd()

可是在adoquery1.sql.add('select stradd(author) from book');
时提示stradd未定义...

这个问题有什么办法可以解决的吗? 非常感激!


(在A ......

delphi中的dbchart能够实现下面这个图的功能吗




就是在柱形图中分析各个比例。

在表中有好几百个类似的数据。我想动态的显示。就想饼形图那样自动计算各个元素的比例。能解决吗引用
你把值算成比例的不就行了吗,为什么非要让图形区自动实现呢 ......

delphi代理问题 求解 在线等

delphi代理问题 求解 在线等
procedure TForm1.Button3Click(Sender: TObject);
var
  info : INTERNET_PROXY_INFO;
  reg  : TRegistry;
begin

  reg := TRegistry.Crea ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号