OS/2 ohne Macken, Teil 6     c't 1/96, S. 312, db
---------------------------------------------------

Die Unterverzeichnisse enthalten den vollstndigen Source-Code des Editors.

EDIT          Editor Source
SOM           Editor als SOM-DLL
WPS           Workplace Shell Objekt
WPS\DTS          Direct-To-SOM
WPS\SOM1         SOM 1 (OIDL)
WPS\SOM2         SOM 2 (IDL)
DSOM          Distributed SOM Experimente
GOFER         PM-Version der funktionalen Sprache Gofer im Source

Gofer ist eine Beispielanwendung zum Text, kein eigenstndiges
Anwendungsprogramm. Es wird vom Gofer-Autor nicht offiziell untersttzt.
Fr den Einstieg ist es besser, die kleineren Beispielprogramme zum 
jeweiligen Artikel zu benutzen.

Die derzeitige Version des Editors stellt vor:

PM-Programmierung (Teil 1+2)
   child windows im client-Bereich:     aclient.c (Teil 2)
   subclassen des Frames                enhframe.cpp (Teil 2)
   Debugging, Fehler                    debug.c (Teil 2, 3)
DLL (Teil 3)
   dynamisches Laden                    api.cpp (Teil 3)
Multithreading (Teil 4)
   Objekte als Threads                  thread.h sema4.h (Teil 4)
WPS-Programmierung (Teil 5)
   SOM1, SOM2                           entsprechende Unterverzeichnisse 
   Direct-To-SOM                        entsprechendes Unterverzeichnis
DTS, DSOM (Teil 6)
   Direct-To-SOM                        SOM Unterverzeichnis
   DSOM                                 DSOM Unterverzeichnis
Gofer (Teil 6)
   Bsp eines Prg, das SOM-DLL nutzt     Gofer Unterverzeichnis


Der Editor kann als Stand-Alone-Programm (edit.cpp) oder als DLL
(editdll.cpp) bersetzt werden. Der Editor ist ein PM-Programm 
und hnlich zu bedienen, wie der e.exe.

Beim Programmstart werden alle Dateien im Unterverzeichnis MODULE 
(relativ zum Pfad des Editors) durchgesehen. Dort knnen spezielle 
DLLs liegen, die dynamisch vom Editor geladen werden. Auf diese 
Weise kann der Editor nachtrglich um Funktionalitt erweitert werden. 
Dazu wird ein API zur Verfgung gestellt (api.cpp). Dies geschieht 
durch prozedurales Hooken.

Ist der Editor als SOM-DLL kompiliert, wird das Verzeichnis MODULE 
zustzlich nach SOM-DLL durchsucht. Sind dort von SOMEditor abgeleitete 
Klassen, so wird SOMEditor durch die neue Klasse ersetzt.

Als Stand-Alone-Programm kann der Editor wie der e.exe verwendet 
werden. Als SOM-DLL kann der Editor leicht auch in eigene Programme 
integriert werden (s. Teil 6, z. B. Gofer). Es ist dann fr den 
Benutzer nicht mehr erkennbar, da es sich eventuell um verschiedene 
Produkte handelt.

Unter Umstnden ist sogar die Verteilung mglich, wie in Teil 6 angedeutet.

Das WPS-Objekt erfllt keine wichtigen Aufgaben, es ffnet das 
Unterverzeichnis Module als Folder und ermglicht die "Installation" 
von Editormodulen via WPS und Drag&Drop.

Leider ist es nicht mglich, eine komplette Dokumentation zu dem 
Programm zu liefern; ich habe mir Mhe gegeben, es ausreichend 
zu kommentieren. Fr eigene Programme mgen einige Ideen des 
Editors, oder einzelne Routinen ntzlich sein.



