| Audrey,
As you say most (if not all) the ".TYPEless" forms are in CM and
all the ones I've seen are related to context-sensitive menus
which is of course itself undocumented - until Tony's new book hits
the streets.
I wouldn't even want to begin to attempt to explain context-sensitive
menus in a note as it takes at least 2 hours to do in one of the
classes run here at the CSC!
Over to the experts for a 113 line explanation ....
regards,
Andrew.D.Wicks
|
|
Audrey,
The APR I, page 2-29 (V3.0 docset) indicates:
...The forms specified by /MORE do not have to be displayable forms.
ALL-IN-1 treats them simply as storage locations for Named Data
information....When a standard form is specified by /MORE that form's
.TYPE directive is ignored...
Indeed, the call to a form in CM can be context-sensitive. In your
case, for almost every element type (FRM, DO, SCP, etc) a seperate form
has been created which contains Named Data specific for an element
type, and used for the options Print, Send, Read, Differences and GOLD
GET. Also the Named Data for NEXT SCREEN (get me a template when
creating an element) is included.
So with one generic 'menu' form CM can access Named Data for processing
of elements of different element types.
E.g. When printing an element, you'll be put in the generic form
CM$OPTIONS$INDEX$RPS:
Form: CM$OPTIONS$INDEX$RPS
Library: VITARA$DKB200:[ALLIN1V30_DEV.LIB_ENGLISH]CM.FLB;
--------------------------------------------------------------------------------
;;.TYPE;;
INDEX/CHOICE=CHOICE/CLEAR/OVERLAY/MORE=#CM_OPT_MO
/PRE='XOP "~~PRE~~"'/POST='XOP "~~POST~~"'
Symbol #CM_OPT_MO contains the name of the form which contains the
element type specific Named Data, e.g. CM$OPTIONS$FRM. This last form
doesn't contain a .TYPE directive as it's only purpose is serving as a
storage location for Named Data, so no .TYPE directive was used.
Nothing fancy, but unusual compared to the other forms used in
ALL-IN-1.
Ciao,
Simon
|
| One point I would make is that the CM context-sensitive menus are not a
good example to use when creating your own application. An awful lot
goes on behind the scenes, most of which lies cloaked in several layers
of CM code (all script and named data, but still lurking in the
depths). Use a simpler example - like pages in form sets if you want
to tell students about forms with no named data.
Tony
|