高手帮忙解决冲突问题(50分)

  • 主题发起人 grayguygg
  • 开始时间
G

grayguygg

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个指纹考勤的系统,现在处于测试阶段。我在第一次连接好指纹仪器以后可以正常的验证输入,当我断开连接,再次连接时,就会出现错误:“access voilation at 0x00000000:read of addresss 0x000000000”。我不清楚在哪里地址冲突 了,是哪些因素引起的呢,请高手帮忙解决哦
我验证的时候是从数据库中读取到缓存中,然后调用控件的比对函数
 
从错误来看是你访问了未分配内存所致,所以检查你是否释放了XX模块,然后又去访问它了...
可以在代码中尝试加入如下代码段:
在窗体或对象释放后添加:
SomeForm := nil;
//或者SomeObject := nil;
{或者直接用FreeAndNil(SomeForm);
或FreeAndNil(SomeObject);}
在窗体和对象访问前添加:
if SomeForm = nil then
//或者if SomeObject = nil then

ShowMessage('您尝试访问的对象和窗体并不存在!')
else

访问窗体或控件的代码
 
分配内存所致
 
我在关闭连接的时候用的是:zkfpengx1.EndEngine;
我也不清楚是释放了什么模块
在打开的时候用的是zkfpengx1.InitEngine;

前后两次都是这样的,错误就出现在第二次再次连接的时候,我只要一比对,程序就自动关闭了。其实在第二次从数据库中读取到我申请的空间iFPCacheDB1,iFPCacheDB2时都没有错误,就是比对的时候出错。iuserid:=zkfpengx1.IdentificationInFPCacheDB(ifpcachedb1,atemplate,score,processnum);错误就出在这段代码上,这是应用控件的比对函数。你们再帮我看看,谢谢了
 
我觉得我出现的那个问题可能是硬件固有的bug,因为我把他们给的实例按照我的做法改了以后也会出现这样的问题。
还是也谢谢两位的帮助
 
接受答案
 
既然接受答案则请放分!
 
会不会端口问题,由于每第一次连接断开时没有释放端口导致第二次出错
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
961
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
926
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
顶部