编程调试出错:

Project StartOH.exe raised exception class EAccexxViolation with 'Access violation at address 45EFD5 in module 'StartOh.exe. Read od address 00000170'. Process stopped. Uses Step or Run to continue.

程序中因调用A.EXE文件之前,需要调用之前,将它的线程退出,再进入。

1、function FindTask(ExeFileName: string): Boolean;    // 查找正在运行的进程
2、function KillTask(ExeFileName: string): Integer;        // 关闭正在运行的进程

原调用:

if FindTask('OldHome.exe') then KillTask('OldHome.exe');

原因:二函数分别 线程操作,相同的代码,出现干扰出错,修改调用:

  if FindTask('OldHome.exe') then
  begin
    sleep(500);
    KillTask('OldHome.exe');
  end;

原因二函数进行同时执行,出现冲突。做一个延时解决冲突。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐