==========================================================================  Documentation for the modul Menu2Asm 04-Jun-91 Jürgen Zimmermann Author: Jürgen Zimmermann, Ringstr. 6, D-6719 Altleiningen, Germany ========================================================================== Copyright ===========  The whole package (source, documentation and objectcode) is in the public domain. It is allowed to copy and spread it as long as... * my name and the copyright-note are left in, * the completeness of the package is guaranteed, * no profit is made by copying, selling or using my programs. Suggestions are always welcome. If you do any modifications with the program, please document them. If there are many or great changes of the source by you, you should send me a note about them. If you find any bugs in the program, please send me a detailed bug-report, I'll work on it. The package "Menu2Asm" ===================== The whole package "Menu2Asm" contains: * Menu2Asm.doc This documentation * Menu2Asm.dok The german documentation * Menu2Asm.mod The source of the modul * Menu2Asm.def The source of the definition * -.obj + -.sym The object- symbol-files of the modul To "Menu2Asm" ============= With the modul "Menu2Asm" it is possible to use totally initialized menus with the new version of the Modula-II-Compiler M2Amiga V4.0. The menus are linked together with the program, no additional source-code is neccessary to built up the structures. The way to use "Menu2Asm" is as easy as possible: after you have built up YOUR menu an installed it with the procedure IntuitionL.SetMenuStrip in a window, call the procedure Menu2Asm.MakeMenu2Asm(pointer to your window). At this time a window opens on the workbenchscreen (if you started your program from the workbench) or a message in the CLI/SHELL appears. Now you must type in the whole name and path you want the produced source to have. Any extension (e.g. ".hallo") of the filename is ignored! The procedure then writes a definition- and an implementation-modul. Also a file named "programname"+"Asm.asm" is produced, which contains the A68k-compatible source for the menu-structure. All you have to do now is to assemble the assembler-source with an assembler and to compile the definition- and implementation-modul with M2Amiga. The assembled file MUST have the extension ".obj" and MUST be put in the "obj/"-directory of the project - if you have one. The objectfile MUST also have the same name as the source, because the linker looks for it with that name! To use the menu in your own programm, you easily import the pointer to the menu (called "MenuStrip") and install the menu using the function "IntuitionL.SetMenuStrip". There now is no need for the time- and space-wasting initialization of the menu, it's just there! And now a tip to all professional programmers: The two by "Menu2Asm" produced modules are only for the quick and easy use of pre-initialized menus. If you copy the "VAR"-line of the definition-module in your own source, you no longer have the need for the the definition- and the implementation-module. You also have a gain of about 80 bytes space! So long Yours Jürgen