Thanks Marc.
That works nicely. Now all I have to do is figure out how to drive the Lazarus IDE. It works fine until I realize that I need to change the name of a unit or form then all hell breaks loose and the compiler can't find things anymore. :-(
Actually I don't like form painters. I would much rather write code that built the form and have a preview feature that showed me the result without having to compile the whole program first. That way there would be no hidden code.