Removing the STARTUP Menu

An interesting "technique" I have seen all too often is the practice of removing the STARTUP menu in its own zero procedure (the one that is automatically executed when the library is first opened) and then installing another menu to serve as the main menu of the application. Does this make sense to you?

First of all, let's get a few things clear. A menu format is a menu format. No menu format differs from any other except by the code you put into it. When a menu is installed on the library menu bar (not the window-specific ones we can now create), its zero procedure is executed. Menus are used for navigating through an application. I know that some people prefer to use "dispatching" windows, but it is still a good idea (and requires much less code to implement than the window approach) to have a "main" menu of an application that is always mounted on the menu bar and that gives access to the primary windows of that application.

The designers of Omnis eons ago recognized that if a library is opened by a runtime version of Omnis, there needs to be some method of initializing the application and mounting a basic navigation menu onto the menu bar. This was accomplished by designating the reserved word "STARTUP" (at least in English) as the name of a menu that would be automatically installed. Since the zero procedure of this menu would automatically be executed, the problem of how to allow other initialization processes to be performed was automatically solved as well. Beyond the fact that its name causes it to be installed when the library is opened, there is absolutely no difference between the STARTUP menu and any other.

Certainly there is no harm in having the zero procedure of the STARTUP menu remove itself and install another menu to serve as the main menu, but what's the point? The name "STARTUP" does not have to be the title of the menu that appears on the menu bar and there is no other "magic" associated with it.

I won't say this technique is wrong (far be it from me to stifle anyone's creativity), but it certainly seems silly. It demonstrates the very essence of a FOIBLE.