I’ve been developing a stock market screener with some advanced functionality.  Some of the parameters a user might enter, because of their complexity or sheer volume of data required to calculate, would cause the screener to run for considerable amounts of time before returning results.  The opportunity to create a progress bar presented itself.  EVERY [...]