Jack,
I'm guessing that by "generating them using the UI", you're refering to
dragging onto a design surface, such as a form's. If so, there are some
definite disadvantages to this approach. The main issue is one of a lack of
control over the scope and instantiation of the object variables, which
might lead to performance problems in the application.
Another potential problem is the effect on maintainability of your code.
For example, if you create a dataset via the RAD tools, it'll be declared as
a class field. While this might be appropriate in some cases, it makes no
sense in others (e.g.: dataset is only used in a single procedure). This
sort of thing can leave future code maintainers (potentially including you
<g>) scratching their heads for no good reason.
Yet another potential problem is that it rather limits you to the built-in
objects unless you're willing to spend quite a bit of time implementing
appropriate design-time UI functionality in your own custom objects. If you
lock yourself into using the built-in RAD tools, you won't be taking
advantage of some of the benefits OOP offers.
Nicole