【问题描述】
1、TQJobGroup未考虑先添加再Prepare+Run的情况,造成重复投寄已经添加的作业,从而引发无效的指针操作错误,重现方式:
AGroup:=TQJobGroup.Create(False); for I:=0 to 1 do AGroup.Add(DoTestProc,nil); AGroup.Prepare; AGroup.Run; AGroup.MsgWaitFor; FreeObject(AGroup);
问题在于TQJobGroup的Run函数没有检测作业是否已经投寄,然后重复投寄了已经投寄的作业。
2、TQForJobs在触发作业函数时,检查是否是匿名函数作业时,错误的使用了Assign而不是判断标志位,造成问题。
【严重级别】
高
【更新级别】
建议更新
【特别感谢】
音儿小白