Delphi Programming

Nick Bradbury's blog entry that shows FeedDemon and TopStyle in the Delphi IDE

Here's a copy of the text from the site. You should read the blog entry itself unless it isn't available anymore and then the text below may be interesting. However, it doesn't have any of the original screenshots.

 I've had a number of requests to share more details of how I develop my software, 
 so I thought I'd write about the tools I use. This is probably only of interest 
 to fellow developers, so feel free to skip this if you have a job with normal 
 hours :)  
 As some of you know, I used Delphi to create all of my shareware programs 
 (HomeSite, TopStyle and FeedDemon), and I've been very happy with it (although 
 I will admit that I'm toying with C# as well). One of the main reasons I use Delphi 
 is because it creates fast executables that don't require runtime DLLs. Before I 
 created HomeSite I was a client-server developer working in Visual Basic, and VB's 
 runtime DLLs were a constant source of problems. I had enough trouble trying to 
 support people in the same building who had DLL-related problems - I can't imagine 
 trying to deal with these same problems with shareware, where your application is 
 used all over the world on countless different computer configurations.  
 Here's a screenshot of FeedDemon as it appears in Delphi's IDE while I'm working on
 it, and here's one of TopStyle. As you can see, they look pretty boring at 
 design-time - most of the eye-candy is created dynamically at run-time, which 
 enables me to avoid allocating resources (memory, window handles, etc.) for 
 features that aren't being used. This also means that the apps start much faster, 
 since they don't have to create every single UI object before they load.  
 If you're a Delphi developer, you may be interested in which third-party components
 I rely on. I try to write my own components when possible, but I do use a number of 
 components from Developer Express, plus a few from TMSSoftware and Shell+. I should
 add that I've purchased the source code for every third-party component I use, and 
 in many cases have customized them to do things they don't support out-of-the-box 
 (such as Unicode).  
 One of the things many of my customers have commented on is how fast my programs 
 are compared to the competition, and this is something I'm proud of. Believe it or
 not, I trace much of this to the fact that I wrote games in assembler on a TRS-80 
 when I was kid. When you work in assembler, you really learn how things like memory
 allocation can kill performance. These days I rely on the AQTime profiler to locate
 the bottlenecks in my code, especially once the code is out of the beta stage. 
 There were many days during FeedDemon 1.5's development where I spent more time 
 using my profiler than I did actually writing code.  
 I use FinalBuilder to automate the entire build process (compile the software, 
 build the help file, create the install program, etc.), and I couldn't live without
 it. A few years ago I relied upon WISE to create my installers, but these days I 
 use Inno Setup and recommend it highly.  
 Well, my inbox has become dangerously full in the time it took to write this, so
 it's back to work for me. If you'd like to hear me prattle on about more 
 development-related topics, let me know!

See also[]