我做的是考勤,有一个smart  card 是刷卡用的,我方法是在界面放一个timer 每隔0.357s调用一次刷卡的方法。
刷卡的方法写在btnOnclick里面。就是说每隔0.357s就调用一次btnonclick。
我的卡已经可到到smart card 里刷了。
现在的问题是,刷的时候有时候会有异常,有时候又正常。给我的感觉有点像接触不良。
不知道是我的写的btnonclick方法不对,还是思路不对。
请教各位帮帮偶。
偶散分了。

解决方案 »

  1.   

    代碼很多啊啊。。
    不过我可以给timer里面的代码看看
    procedure TFrmman.tmrcardTimer(Sender: TObject);
    begin
        begin
         tmrcard.Enabled:=false;
        try
         btn1Click(self);
        finally
         tmrcard.Enabled:=True;    
        end;
      end;
    end;
    ------------------------
    btn1click(seft)里面就是判断刷卡上下班的代码。
      

  2.   

    为什么不把检测的代码直接放在TTimer里面呢?异常是什么样的异常,系统弹出的是什么错误?
      

  3.   

    你說有時正常,有時異常,異常的時候數據有沒有讀取過來?是數據不正確呢,還是沒有刷卡記錄?
    你在讀取後smart card裡的記錄還會一直保存嗎?有沒有刪除過?
      

  4.   

    btn1Click(self); 
    你的异常应该是在这个事件里产生的;我不知道你是使用哪种方法来读卡的
    你用的是PC/SC的方法读卡的吗?