procedure TForm1.ReadUser;
var
x1,l:integer;
ll_resp: pchar;
str:string;
begin
//读二进制版本文件 判断是否是用户卡
ll_resp:=StrAlloc(255);
l:=INF_read_file(ll,09,3,ll_resp);//读
str:=copy(ll_resp,3,2) ;
if str<>'01' then
begin
Application.MessageBox('不是用户卡','信息提示',MB_APPLMODAL or MB_ICONINFORMATION or MB_OK) ;
exit;
end;
//读卡片内容 Application
x1:=INF_read_file(ll,04,32,ll_resp); //读
str:=ll_resp;
le_number.Text:=copy(str,125,10);
Application.MessageBox('读卡成功','信息提示',MB_APPLMODAL or MB_ICONINFORMATION or MB_OK) ;
INF_close(ll);
strdispose(ll_resp);end;其中INF_read_file();这是调用的一个函授 其中参数ll_resp 是指针Pchar 类型 函授返回的是Integer 类型的 。当我运行到读卡成功的时候。出现如图形式的错误 : x1:=INF_read_file(ll,04,32,ll_resp);
INF_close(ll);
strdispose(ll_resp); //这一步报错 ---错误如下:工程prject.exe 检测到错误类EInvalidPointer,错误信息:‘Invalid pointer operation’.进程中止 使用单步调试或继续运行。 但是不知如何解决 请大哥大姐们指点一下。标注一下我是delphi 初学者。
解决方案 »
- 在Remote data module模块中能使用Constructor(构造函数)吗?
- 当程序与数据库失去连接时怎样判断并给出提示,询问是否重新连接?
- 有希望到环境优美的珠海工作的Delphi高级程序员,请回贴。
- 问各位个问题,有没有小工具可以把Delphi的代码转成VB或VB.net的
- TreeView的展开问题
- 自己写的软件终于有人要了,不过要我开具正规的发票,我没有办法提供发票。。。苦恼。。。
- 终于得到最后一条内裤了!!这可真难呀,要1000分呀!向★进军,散分了!
- codegear.com.cn寻求合理的使用者
- 请问哪里有比较详细的firedac中文资料
- 刚刚发的帖子链接错了,再题一次,怎么将一个字符串变量或一个整数变量写到流中,又怎么读出来
- 如何实现待机,休眠和关机?
- delphi调用暴风影音插件
var
x1,l:integer;
ll_resp: pchar;
str:string;
begin
//读二进制版本文件 判断是否是用户卡
ll_resp:=StrAlloc(255);//去掉这行看看l:=INF_read_file(ll,09,3,ll_resp);//读
str:=copy(ll_resp,3,2) ;
if str<>'01' then
begin
Application.MessageBox('不是用户卡','信息提示',MB_APPLMODAL or MB_ICONINFORMATION or MB_OK) ;
exit;
end;
var
x1,l:integer;
ll_resp: pchar;
str:string;
begin
//读二进制版本文件 判断是否是用户卡
ll_resp:=StrAlloc(255);
l:=INF_read_file(ll,09,3,ll_resp);//读
str:=copy(ll_resp,3,2) ;
if str<>'01' then
begin
Application.MessageBox('不是用户卡','信息提示',MB_APPLMODAL or MB_ICONINFORMATION or MB_OK) ;
exit; //这种写法不安全,ll_resp有可能不被释放
end;
//读卡片内容 Application
x1:=INF_read_file(ll,04,32,ll_resp); //读
str:=ll_resp; //这有可能导致问题,掉试试会不会出错
le_number.Text:=copy(str,125,10);
Application.MessageBox('读卡成功','信息提示',MB_APPLMODAL or MB_ICONINFORMATION or MB_OK) ;
INF_close(ll);
strdispose(ll_resp);end;