TProcedureProgressEvent = procedure (Sender: TObject; const Status: String; PercentDone: Word; var Abort: Boolean) of object