c++声明
extern "C" __declspec(dllexport) long __stdcall Read(__int16 intcom,int baud,unsigned char *vskh,int *vlql,__int16 *vics,__int16 *viklx,char *error); delphi声明:
function Read
(intcom:SmallInt;baud:Integer;var vskh:PByte;var vlql:pinteger;var vics:pinteger; var viklx:pinteger;var vserror:PChar):integer;stdcall; 调用代码:
procedure TForm1.Button4Click(Sender: TObject);
var
i:integer;
err:pchar;
pb:PByte;
vlql:pinteger;
vics,viklx:pSmallInt;
vlq,vic,vikl:integer;
s:string;
begin
err := StrAlloc(256); GetMem(vlql, 3*SizeOf(Integer));
GetMem(vics, 3*SizeOf(SmallInt));
GetMem(viklx, 3*SizeOf(SmallInt)); i:=Gold_Readcard(0,9600,pb,vlql,vics,viklx,err); if i=0 then
begin
vlq:=vlql^;
s:='OK,' + inttostr(vlq);
ShowMessage(PChar(s));
end; 错误:
vlq:=vlql^;
vlql返回值:$64
这句老是提示非法访问内存。
解决方案 »
- TeeChart组件绘画3D曲线问题
- 晕了,关于通过ADO实现对数据库表数据条数和的统计!
- 谁有手机短信的原码和程序,事成后马上给分。并另加分
- 在继承于TDBGrid的前提下!如何在Column里添加一个属性?拜拖!!!谢谢!
- FastReport中,如何在程序中指定报表中要打印的某张图片(不用数据库的方式)!**********************
- 送分:大家请进!
- 关于mediaplayer组件的问题
- 有关data,time,datatime,StrGrid--->KeyPress事件重载的几个问题? 老高们帮帮
- 如何将Paradox表中的数据另存为文本文件(.txt)或Word文件(.doc)???
- 有关通信的问题
- 第三方控件Ehlib?输入内容时出错?
- delphi ocx自定义事件
对应的delphi声明是
vskh:PByte
前面不要再加var了
后面的声明等都有如此错误。
谢谢
function Read(intcom:SmallInt;baud:Integer;var vskh:Byte;
var vlql:integer;var vics:SmallInt; var viklx:SmallInt; serror:PChar):integer;stdcall;
谢谢 hexpate 这样确实读出来了。
C++里不是用了指针吗?这里为什么不用指针呢?(能说明一下吗?谢谢)
我马上给分。
不好意思,我这还遇到一个问题,能否请教一下?
extern "C" __declspec(dllexport) long __stdcall Gold_Writecard(__int16 intcom,int baud,unsigned char *vskh,int vlql,__int16 vics,__int16 viklx,char *error);
delphi声明:
function Writecard
(intcom:SmallInt;baud:Integer;vskh:pbyte;vlql:Integer;vics:SmallInt;viklx:SmallInt;vserror:PChar):integer
调用:
procedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
pb:pbyte;
err,temp:pchar;
str:string;
begin
str:='2';
temp:=PChar(str);pb:=pbyte(temp);
err := StrAlloc(256);i:=Gold_Writecard(0,9600,pb,100,1,1,err);
ShowMessage(IntToStr(i));
end;我这是操作IC卡的函数。用这个函数写入的内容,用上面那个函数读出来的数据不一样。
我不知道是因为这个byte这个变量存值的问题?还是?