home *** CD-ROM | disk | FTP | other *** search
- ======================================================================
- Dokumentation zum Modul Menu2Asm 04-Jun-91 Jürgen Zimmermann
- Autor: Jürgen Zimmermann, Ringstr. 6, W-6719 Altleiningen, Deutschland
- ======================================================================
-
- Kopierrecht
- ===========
- Das komplette Packet (Quelltext, Dokumentation und Objektcode) ist
- Freeware. Es darf beliebig kopiert und verbreitet werden
- solange...
-
- * mein Name und dieser Kopierrechtshinweis erhalten bleiben,
- * die Vollständigkeit des ganzen Packets gewährleistet ist, und
- * mit dem Vertrieb dieser Software kein Gewinn erwirtschaftet wird.
-
- Verbesserungsvorschläge sind stets willkommen. Falls Ihr Veränderungen
- am Programm vornehmt, dokumentiert diese bitte gut verständlich.
- Es würde mich freuen, wenn Ihr mich über größere Veränderungen in
- Kenntnis setzen würden. Weiterhin bitte ich Euch, mir einen ausführlichen
- Bug-Report zu schreiben, wenn irgenein Fehler auftreten sollte, damit ich
- mich an die Verbesserung des Moduls machen kann.
-
-
- Umfang des Packets
- ==================
- Das komplette Packet "Menu2Asm" beinhaltet folgendes:
-
- * Menu2Asm.dok Diese Dokumentation
- * Menu2Asm.mod Der Quelltexte des Moduls
- * Menu2Asm.def Die Definition des Moduls
- * -.obj + -.sym Die Objekt- bzw. Symboldatei des Moduls
-
-
- Zu "Menu2Asm"
- ====================
- Das Modul "Menu2Asm" ermöglicht es, mit dem neuen Modula-2-Compiler
- M2Amiga V4.0d fertig initialisierte Menüs zu erstellen, die dann in das
- Endprogramm gelinkt werden, ohne daß man noch zusätzlichen Quelltext für
- den Aufbau des Menüs benötigt.
-
- Die Erstellung eines Menüs ist denkbar einfach: Nachdem man im eigenen
- Programm ein Menü erzeugt hat und dieses mittels IntuitionL.SetMenuStrip an
- ein Window installiert hat, ruft man die Prozedur Menu2Asm.MakeMenu2Asm(Zeiger
- auf das Window) auf. Danach erscheint auf dem Workbench-Screen ein
- neues Window (bei Workbenchstart des eigenen Programms) oder im CLI/SHELL eine
- Titelzeile, in der der Name incl. Pfad der Zieldateien erfragt wird. Eine an den
- Filenamen angehängte Erweiterung (z.B. ".hallo") wird vom Programm ignoriert.
- Das Modul schreibt nun sowohl ein Definitions- als auch ein Implementations-
- modul in das gewünschte Verzeichnis. Weiterhin wird noch eine Datei mit dem
- Namen "PrgName"+"Asm.asm" erzeugt, die den A68k-kompatiblen Quelltext für das
- Menü in Assembler enthält. Der Quelltext muß mit einem anderen Assembler als
- dem des M2Amiga assembliert werden, da dieser z.Zt. keine veränderbaren Daten
- unterstützt. Alles, was man jetzt noch machen muß, ist das Compilieren der
- -.def bzw. -.mod-Datei sowie das Assemblieren der -.asm-Datei. Zu beachten
- ist, daß die Objektdatei nach dem Assemblieren den gleichen Namen hat wie
- die -.asm-Datei, jedoch mit der Erweiterung ".obj" versehen ist und sich vor
- dem Linken im Verzeichnis "obj/" befindet, sofern ein solches angelegt ist,
- damit der Linker sie findet.
-
- Das Menü wird jetzt einfach so benutzt, indem man den Zeiger auf das Menü aus
- dem Modul importiert und direkt an "IntuitionL.SetMenuStrip" übergibt.
- Die zeit- und speicheraufwendige Initialsierung der Menüstruktur kann man
- nun aus dem eigenen Programm verbannen (aber bitte nicht löschen, für zukünftige
- Änderungen). Das Menü in Assembler sollte nur am Ende einer Programmierphase
- stehen, da das Ändern im Modula-2-Quelltext sehr viel bequemer ist (besonders
- mit Hilfe von m2make!).
-
-
- Für diejenigen unter Euch, die keine Mühe scheuen:
- Man kann sich die beiden von Menu2Asm erzeugten Modula-2-Module auch schenken,
- indem man einfach die Variablenzeile aus dem Definitionsmodul in das eigene
- Modul integriert (auf keinen Fall die Zeile ändern!) und die beiden Module
- löscht (spart den Code für das leere Implementationsmodul, ca. 80 Bytes).
- Dies entspricht meiner eigentlichen Absicht, aber für Eilige habe ich die
- andere Funktion integriert!
-
-
-
- Viel Spaß noch bei eigenen Menüs
-
-
- Euer
-
- Jürgen
-