"Access violation at address 400068E2 in module 'rtl70.bpl'."该怎么解决

"Access violation at address 400068E2 in module 'rtl70.bpl'."
我在做明华射频卡时出现的错误:"Access violation at address 400068E2 in module 'rtl70.bpl'."

  程序代码:

  snr:=0;
  sector:=7; //第8扇区
  block:=28; //第8扇区的第一个块
  loadmode:=0; //密码验证方式 0-2是选择A套密码,4-6是B套密码

  icdev := rf_init(sReaderComValue,115200); // 初始化串口
  if icdev<0 then begin
  Result:=-1;
  rf_exit(icdev);
  UWarningMsgBox('初试化IC卡失败');
  exit;
  end;

  st:= rf_beep(icdev,10);
  if st <>0 then begin
  Result := -1;
  rf_exit(icdev);
  Exit;
  end;

  st:=rf_get_status(icdev,@status);
  if st<>0 then begin
  Result:=-1;
  rf_exit(icdev);
  UWarningMsgBox('请插入IC卡-->1');
  exit;
  end;
  st:=rf_load_key_hex(icdev,loadmode,sector, 'ffffffffffff');
  if st<>0 then begin
  ShowMessage('load key error');
  rf_exit(icdev);
  Exit;
  end;

  st:=rf_card(icdev,1,@snr);
  if st<>0 then begin
  ShowMessage('rf_card error');
  rf_exit(icdev);
  Exit;
  end;

  st:=rf_authentication(icdev,loadmode,sector);
  if st<>0 then begin
  ShowMessage('rf_authentication error');
  rf_exit(icdev);
  Exit;
  end;

  st:=rf_write_hex(icdev,block,'A1A2A3A4A5A6A7A8A1A2A3A4A5A6A7A8');
  if st<>0 then begin
  ShowMessage('rf_write_hex error');
  rf_exit(icdev);
  Exit;
  end;

  st:=rf_check_writehex(icdev,snr,loadmode,block,'A1A2A3A4A5A6A7A8A1A2A3A4A5A6A7A8');
  if st<>0 then begin
  ShowMessage('rf_check_writehex error');
  rf_exit(icdev);
  Exit;
  end;

  st:=rf_write_hex(icdev,block+3,'ffffffffffffff078069ffffffffffff'); //写密码,当控制字节为默认值'FF 07 80 69'时,核对KEYB是无效的,改为'7F 07 88 69'时,可用KEYB。
  if st<>0 then begin
  ShowMessage('rf_write_hex error');
  rf_exit(icdev);
  Exit;
  end;

  st:=rf_read_hex(icdev,block,@s);
  if st<>0 then begin
  ShowMessage('rf_read_hex error');
  rf_exit(icdev);
  Exit;
  end;

  st:=rf_halt(icdev);
  if st<>0 then begin
  ShowMessage('load key error');
  rf_exit(icdev);
  Exit;
  end;

  st:=rf_reset(icdev,10);
  if st<>0 then begin
  ShowMessage('load key error');
  rf_exit(icdev);
  Exit;
  end;

  rf_exit(icdev);

程序我跟踪了,发现只要一到"Exit"后就会提示这个错误!有劳高人指点迷津!!

------解决方案--------------------
程序里那么多Exit
是每个Exit都这样吗?
------解决方案--------------------
探讨
对。任何一步错了之后都这样

------解决方案--------------------
那应该是其它原因。