The Problem
Progress reporting in complex applications can be a nightmare. Everytime a new task is added to be reported upon, the progress meter calculation has to change to reflect it. And this, with code changes, rearrangments, etc. can happen often.
The Sollution
Decouple in code progress reports from the interface depicting the reports.
How
In essence, make in code tasks completed reports to the reporting interface - typically a progress metter dialog box - and let the reporting interface, durring design, and development, report the total number of tasks completed. The Correct percentage calculation - based on total number of tasks - can be finalized based on this information once the application is ready for delivery.
One Step Further
To further decouple reporting from interface reporting depiction, reports
can be made to a proxy - a routine library - instead of the actual reporting
interface. Actual reporting interfaces simply register with the lib
if they want to receive reports from any code reporting to the lib.
This way, the
code doesn't have to know about the interface or interfaces, and there
can be more than one interface registered with the lib, and receiving progress
reports.
Download Proxy Progress Reporting System - It's free and includes source code.
