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.


  1. Just FYI: The comments font doesn't scale...

  2. One thing that would be very, very helpful in the embedded designer model is to display hash marks showing common screen resolutions such as VGA, SVGA, XGA, and so forth.

    That way, while working on the design canvas (for lack of a better term. No doubt there is an approved technical term for it) you have some idea of where in the real estate you're moving around. This has always been a bit of disadvantage when working in a floating design model.

    I recall having such a feature way back in my 4th Dimension days on my Mac SE/30 and it made form layout much simpler, knowing were the 7" and 12" screen boundaries were.

    Just a thought.


Please keep your comments related to the post on which you are commenting. No spam, personal attacks, or general nastiness. I will be watching and will delete comments I find irrelevant, offensive and unnecessary.