Wednesday, June 30, 2004

To float or not.. redux..

The comments on my last post were all very good. There's a few, however, I figured I'd address with another entry since some folks don't nessesarily read the comments.
What I always wanted to know, but were afraid to ask: Why is the default Form position poDesigned and not poDefault?
This will take a bit of a history lesson. When we were designing Delphi (back in, oh, 1993), we had already chosen the "floating" designer as the design-time model. We had a specific design goal for the user experience that when they hit the "run" button, it simply felt like the application simply "switched" from design-mode to run mode. We used the high-speed compilation to our advantage. By defaulting to poDesigned, the application would simply have the appearance of simply "turning-on" since it didn't appear to physically move on the screen. There was a lot of internal debate on this very topic, but frankly, the product demoed *very* well with the poDesigned. In fact sometimes it was actually difficult to convince folks that we had actually compiled the application and that there is now a stand-alone .EXE on disk.
As Marc has written the argument of the out of screen forms is so simple to fix without an embedded form designer as I can't even believe you count that as an argument for the embedded designer
Sure. However, one thing you have to remember is that a design-form is a live instance of a VCL form. So, when you set the Left/Top properties, the form will physically move on the screen, and the module is marked as modified. We go to tremendous lengths to not modify any file as a side-effect of opening it in the IDE. Of course there are potential solutions, but few are minimal, or non-invasive.

a) A somewhat wider right text margin, (I keep worrying that I'm missing nonwrapping text)

b) Scalable text size...

Thanks for the feedback on the look of the blog. I'll still be tweaking it as I can get to it.