Re: Just done my first app in Forms!

From: Daniel Morgan <dmorgan_at_exesolutions.com>
Date: Fri, 11 Oct 2002 15:09:29 GMT
Message-ID: <3DA6E985.1D03F248_at_exesolutions.com>


Nick wrote:

> Just curious
>
> If you start working as a full-time Forms (& Reports) developer, **on the
> average** how long would it take
>
> from "I can do this" to "I can do this beautifully"?
>
> "Nick" <aroughguy_at_nsp.toughguy.net> wrote in message
> news:WJyp9.14586$Sr6.462746_at_ozemail.com.au...
> > Hi Daniel
> >
> > You got me wrong. I compared Access (with VBA) with Forms (with PL/SQL) as
> a
> > front-end developing tool.
> > There is no way Access can compare with Oracle as a RDBMS
> >
> > I admit that as a newbie, my codes are inevitably lengthy and not so
> > concise. But I also doubt that it can be shrunk to that size of a few
> > hundred lines.
> >
> > Nick
> >
> >
> > "Daniel Morgan" <dmorgan_at_exesolutions.com> wrote in message
> > news:3DA5C599.4DE12E47_at_exesolutions.com...
> > > Nick wrote:
> > >
> > > > Just done (yeah, almost, unless some bugs discovered) my first app in
> > Oracle
> > > > Forms 6i
> > > > It's a pretty simple system and yet I needed to code around 2,000
> lines
> > > >
> > > > Having used Access for some time, my impression is that Access wins
> > hands
> > > > down in developing front-ends.
> > > >
> > > > Forms 6i has a lot of small annoyance, and not as intuitive as Access.
> > > >
> > > > Can someone give me a reason or two I should still stick with Forms
> > then?
> > > >
> > > > Nick
> > >
> > > My impression is that like most newbies you wrote 1900 lines of
> > superfluous code
> > > because you didn't know how to take advantage of built-in capabilities
> > like
> > > inheritance.
> > >
> > > I just finished a Forms application for an organization of about 1,800
> > people
> > > involving work flow management, time keeping, and billing and doubt I
> > wrote more
> > > than 500. And anytime you can get 1800 people simultaneously working
> with
> > your
> > > Access database ... write a paper about it and have it published.
> > >
> > > Daniel Morgan
> > >
> >
> >

I would say one year. And that assuming that you already know PL/SQL and can write a stored procedure or package.

If anyone is wondering about inheritance and how to take advantage of it do this. Create a form and name it master. On the form put an exit button, compile it and save it. Now create a new form and put a block on it that contains no records: Just an empty block. Instead of putting an exit button on it go to the exit button on the first form in the Object Navigator and click on the original exit button. With the left mouse button depressed (hopefully not too depressed) drag the button to the ITEM section of the block and release the mouse button. Oracle will ask whether you want to copy or subclass. Choose subclass. You now have the same button on that form and the trigger, with code, is there as well. The same method works with every type of object from alerts to canvases to property clases to program units.

My recommendation when starting a new forms app is to first build a master form. Start by defining basic objects, button, list box, display item, alerts and assign all of their properties using a Property Class and set all of the attributes of the property class using Visual Attributes. Compile and save the form and then use its objects, its visual attributes, property classes, and triggers to define your application. Anytime you want to change something you can go back to the master. Make one change. And the entire app changes as well.

My current application inherits multiple form level triggers (why write them more than once), alerts, common data blocks, a common canvas, common program units, common property classes, common visual attributes, and a common main window.

After you get used to working with inheritance ... then explore polymorphism.

You will find that 90% of forms development becomes so easy you'll wonder why you ever used anything else.

Daniel Morgan Received on Fri Oct 11 2002 - 17:09:29 CEST

Original text of this message