written for http://www.experts-exchange.com/Programming/Editors_IDEs/Delphi/Q_24029781.html read discussion for details