BugFix - wxDateTime日期初始化导致的程序崩溃 - 定时执行专家

140 阅读2分钟

【现象】

今天(5/31)是5月份的最后一天,定时执行专家报错,无法正常启动。报错截图如下。很明显是日期类wxDateTime报的断言错误。

(图1-1,报错截图1)

(图1-2,报错截图2)

【原因】

Debug程序发现问题出在初始化 m_dtPrevFire(上次执行时间)的时候,可以从图2-2 line 100 位置,m_dtPrevFire 的默认值是 20220531,但是在后面的图2-4 的代码 line 402 对 m_dtPrevFire 的月份进行赋值的时候,出现了错误。原因在于初始化的时候赋值是 20220531,现在要赋值是从 data.xml 文件里面读取的 4月,因为 4月没有 31日这一天,导致了上面说的这个报错。

(图2-1,定时执行专家 - 任务和触发器数据文件 data.xml,保存在软件更目录 data文件夹里面)

(图2-2,问题代码行)

(图2-3,修复完成之后的代码)

(图2-4,修复完成之后的代码)


一、软件简介

《定时执行专家》是一款制作精良、功能强大、简单易用的专业级定时任务执行软件。软件具有 18 种任务类型、11 种任务触发方式(包含 Cron方式),能够达到毫秒级的执行精度,并且全面支持Cron表达式。软件采用多线程方式检测任务触发和任务执行,可以同时支持数十个任务的毫秒级触发。软件无需安装,无时间限制,欢迎下载使用。

软件使用 Unicode 编码,可以在英文、日文等外文 Windows 系统下正常使用,并且软件带有中、日、英多国语言界面,可自由切换。这次 5.x 版本升级间隔了10多年,在《PC定时执行专家 4.0》的基础上做了重大升级和更新,期待这个新版本能在各种应用场景发挥作用。

(图1-1,定时执行专家 - 主窗口)

二、适用人群及应用场景

  • 每天工作在电脑前面的白领

  • IT系统管理人员、IT系统运维人员、程序开发人员

  • 办公室人员

  • 有定时提醒、定时执行需求的实验室

  • 有定时播放需求的学校、机关

  • 有定时截屏监控需求的场景

三、软件功能概要

1、支持 18 种任务类型 

1) 日程提醒;2) 打开网址;3) 打开文件夹;4) 打开文件;5) 备份目录;6) 执行DOS命令;7) 执行脚本文件 ;8) 关闭显示器;9) 清空回收站;10) 锁定此电脑;11) 关机;12) 重启;13) 注销;14) 睡眠;15) 休眠;16) 发送UDP消息;17) 自动截屏(截屏并保存到指定目录);18) 关闭程序

2、支持 11 种触发方式 

1) 倒计时;2) 随软件启动;3) 空闲时间; 4) 间隔时间;5) 具体时间;6) 每小时;7) 每天;8) 每周;9) 每月;10) 每年;11) Cron方式(Cron界面化设置方式,易于使用,可自行百度Cron表达式了解)

  • [注] 前 4 种触发方式,可以指定小时、分钟、秒种,可以精确执行”秒“级的任务。

  • [注] 新功能会不断更新,详情请查看作者的博客(软件关于对话框,有博客链接)