Home Inhaltsverzeichnis Felder und Methoden Objekte

3 Konstanten


3.1 as_XXXX-Konstanten

Die folgenden Konstanten des Feldes TApplication.Attr.Style bestimmen globale Eigenschaften jedes ObjectGEM-Programms.

KonstanteWertBedeutung
as_LoadFonts1für TApplication.vdiHandle werden die
(Speedo)GDOS-Fonts mit vst_load_fonts()
nachgeladen (falls GDOS aktiv und Fonts
vorhanden)
as_GrowShrink2Fenster und Dialogboxen werden incl.
Grow- und Shrinkboxen mit form_dial()
gezeichnet (default)
as_MenuSeparator4die Trennstriche in Drop-Down- und
Pop-Up-Menüs werden als durchgängige
Linien gezeichnet (default)
as_MoveDials8modale Dialoge können durch Anklicken
verschoben werden (default)
as_MoveTransparent24modale Dialoge werden transparent
verschoben
as_Rubbox32auf dem Desktop kann durch Anklicken
und Ziehen ein "Gummiband" aufgezogen
werden; wurde das Aufziehen nicht mit
der rechten Maustaste abgebrochen, wird
danach TApplication.MURubbox aufgerufen
as_HandleShutdown64gibt an, ob die Applikation korrekt auf
einen Shutdown von AES 4.0 reagieren
kann (default)
as_3DFlags128bewirkt, daß unter neueren TOS-Versionen
(Falcon, MultiTOS) bei Dialogen 3D-
Effekte verwendet werden (default)
as_XInputMode256Tastatureingaben werden nicht an das
oberste Fenster weitergeleitet, sondern
an das Fenster, über dem sich der Maus-
zeiger befindet (wie unter X/Unix)
as_DesktopWindow512der Desktop wird in ein Fenster gelegt
(bei Accessories default); z.Z. noch
ohne Wirkung
as_UseHomeDir1024bewirkt, daß Profiles ohne Pfadangabe
im Verzeichnis $HOME/defaults angelegt
werden, wenn die Environment-Variable
HOME gesetzt ist und darin der Ordner
defaults existiert

3.2 bf_XXXX-Konstanten

Der Status von TControl, TButton, TCheckBox, TTriState, TRadioButton, TPopup und TKeyMenu wird mit den folgenden Konstanten beschrieben:

KonstanteWertBedeutung
bf_Unchecked1Schaltfläche ist nicht markiert
(nicht bei TButton und TControl)
bf_Checked2Schaltfläche ist markiert
(nicht bei TButton und TControl)
bf_Grayed3Schaltfläche ist grau; wird z.B. für "Wert
beibehalten" verwendet (nur TTriState)
bf_Enabled4Button ist anwählbar
bf_Disabled5Button ist nicht anwählbar (hell dargestellt)

3.3 bs/es/sbs/scs/sts_XXXX-Konstanten

Diese Werte werden von Dialogelementobjekten in TControl.Style eingetragen, um einen erweiterten Status anzuzeigen.

KonstanteWertBedeutung
bs_DefPushButton2048TButton trägt diesen Wert in das Feld
Style ein, wenn es sich bei dem zuge-
hörigen Dialogelement um den Default-
PushButton handelt
es_ASCIIOnly2048kann gesetzt werden, um bei TEdit nur
ASCII-Zeichen (keine Umlaute!) zuzulassen
es_Undo4096gibt an, daß TEdit den Undo-Puffer ver-
wendet (default); s. TEdit.CanUndo
sbs_Horz2048wird von TScrollBar eingetragen, wenn es
sich um eine horizontale Bildlaufleiste
handelt
sbs_Vert4096wird von TScrollBar eingetragen, wenn es
sich um eine vertikale Bildlaufleiste
handelt
sts_Fill2048wird von TStatic gesetzt; das Textfeld
wird dann mit Leerzeichen aufgefüllt,
bis es eine Länge von TextLen-1 Zeichen
hat, damit beim Neuzeichnen keine
Probleme entstehen

Eine ganz andere Bedeutung haben die es_XXXX-Konstanten, die im Feld TEvent.Style eingetragen sein können. Sie dienen zur Unterscheidung folgender Objekttypen:

es_KeyMenu1TKeyMenu
es_Icon2TIcon
es_Popup4TPopup
es_Toolbar8TToolbar

Auch TScroller kann mit dem Feld TScroller.Style konfiguriert werden:

scs_BitbltScrolling1wird von TTextWindow gesetzt, damit ein
optimiertes Redraw durchgeführt wird
(funktioniert nur, wenn TrackMode true
ist)
Wichtig: Beim Bitblt-Scrolling werden
evtl. vorhandene Icons nicht gezeich-
net, deshalb ist diese Konstante nicht
standardmäßig gesetzt.

3.4 coXXXX-Konstanten

Die coXXXX-Konstanten werden von TCollection im Fehlerfall als Parameter Code an die Methode TCollection.Error übergeben.

KonstanteWertBedeutung
coIndexError-1Bereichsüberschreitung des Indizes.
Der an die Methode Error übergebene Wert
Info entspricht dem ungültigen Index
coOverflow-2Überlauf der Kollektion.
TCollection.SetLimit konnte die Kollektion
nicht auf die gewünschte Größe ausdehnen.
Der an die Methode Error übergebene Wert
Info gibt die angeforderte Größe an

3.5 cs_XXXX-Konstanten

Die cs_XXXX-Konstanten teilen sich in zwei gänzlich verschiedene Gruppen auf, die Fensterklassen- und Control-Stile:

Tabelle 11: TWindow.Class.Style
KonstanteWertBedeutung
cs_ByteAlignClient1der linke Rand des Fenster-Arbeits-
bereichs wird horizontal auf Byte-
grenze gebracht
cs_ByteAlignWindow2der linke äußere Fensterrand wird
horizontal auf Bytegrenze gebracht
cs_VerAlignClient4der obere Rand des Arbeitsbereichs
wird auf eine gerade Zeile gebracht
cs_VerAlignWindow8der obere äußere Fensterrand wird
auf eine gerade Zeile gebracht
cs_FullRedraw16wenn die Fenstergröße geändert wurde
und deshalb ein Teil des Fensters neu
gezeichnet werden muß, wird automa-
tisch ein Redraw über das komplette
Fenster ausgelöst
cs_HRedraw16" (ObjectWindows-Konstante)
cs_VRedraw16" (ObjectWindows-Konstante)
cs_SaveBits32bei modalen Dialogen wird versucht,
den Hintergrund zu retten; dadurch
muß dann beim Verlassen des Dialogs
kein aufwendiges Redraw durchge-
führt werden (nur TDialog, default)
cs_Rubbox64in dem Fenster kann innerhalb
eines angegebenen Bereichs ein
"Gummiband" aufgezogen werden;
danach wird TWindow.WMRubbox
aufgerufen
cs_WorkBackground128Fenster und Dialoge können auch im
Hintergrund bedient werden; statt
das Fenster in den Vordergrund zu
bringen, wird dann die Methode
TWindow.WMButton aufgerufen (bei
TDialog default!);
Wichtig: In AES-Versionen unter 4.0
werden Doppelklicks links in Hinter-
grund-Fenster nicht erkannt, außerdem
wird dort ein Klick erst nach Los-
lassen der Taste weitergeleitet
cs_DblClks256das Fenster kann Doppelklicks ver-
arbeiten; in diesem Fall wird dann
die Methode TWindow.WMDblClick
aufgerufen (default)
cs_CreateOnAccOpen512Fenster/Dialoge, zu denen Schnitt-
stellenobjekte existieren, werden bei
AC_OPEN automatisch mit Create er-
zeugt und geöffnet; ansonsten werden
nur Fenster bzw. Dialoge geöffnet,
die schon erzeugt wurden
(bei TWindow default)
cs_CancelOnClose1024beim Schließen des Fenster-Dialogs mit
dem Schließfeld wird nicht die OK-
sondern die Cancel-Methode aufgerufen
cs_AutoCreate2048ein Child-Fenster, bei dem dieses
Flag gesetzt ist, wird zusammen mit
dem Parent-Fenster erzeugt
(bei TWindow default)
cs_AutoOpen4096bewirkt, daß MakeWindow automatisch
aufgerufen wird - bei TWindow von
TWindow.SetupWindow, bei TDialog von
TDialog.Init (bei TWindow default)
cs_ToolbarOpposite8192wird von TWindow.LoadToolbar gesetzt,
wenn die Toolbar nicht links oder
oben, sondern rechts oder unten
gezeichnet werden soll
cs_QuitOnClose16384ist dieses Flag gesetzt, ruft
WMClosed TApplication.Quit auf
(bei TWindow default)
cs_WindowMenuToolbar32768wenn dieses Flag gesetzt ist, be-
ziehen sich Anwender-konfigurierbare
Toolbars auf die Menüleiste im
selben Fenster

Die Konstanten cs_ByteAlignClient und cs_ByteAlignWindow bzw. cs_VerAlignClient und cs_VerAlignWindow dürfen nicht zusammen benutzt werden. cs_ToolbarOpposite darf nur gelesen werden!

Tabelle 12: TControl.Style (nur lesen)
KonstanteWertBedeutung
cs_CheckBox1wird von TCheckBox gesetzt
cs_AutoCheckBox1" (ObjectWindows-Konstante)
cs_3State3wird von TTriState gesetzt
cs_Auto3State3" (ObjectWindows-Konstante)
cs_RadioButton4wird von TRadioButton gesetzt
cs_AutoRadioButton4" (ObjectWindows-Konstante)
cs_PushButton8wird von TButton gesetzt
cs_GroupBox16wird von TGroupBox gesetzt
cs_Static32wird von TStatic gesetzt
cs_Edit64wird von TEdit gesetzt
cs_ScrollBar128wird von TScrollBar gesetzt
cs_ComboBox256wird von TComboBox gesetzt

Abgesehen von cs_CheckBox und cs_3State dürfen die Konstanten nicht zusammen verwendet werden.

Von Kontrollelementen abgeleitete Objekte löschen den alten Wert (z.B. löscht TCheckBox den Wert cs_PushButton und trägt erst dann cs_CheckBox ein).

3.6 em_XXXX-Konstanten

Die folgenden Konstanten werden von ObjectGEM entweder im Feld TApplication.Status oder intern gesetzt, um Laufzeitfehler zu signalisieren. Fatale Fehler können in Status abgefragt werden und führen zum Programmabbruch, interne Fehler werden mit TApplication.ChkError abgefragt.

KonstanteWertBedeutung
em_OK0kein Fehler aufgetreten; insbesondere
wird TApplication.MessageLoop nur
aufgerufen, wenn in TApplication.Init
kein Fehler auftritt
em_OutOfMemory-1eine Speicheranforderung mit new() oder
getmem() konnte nicht erfüllt werden;
von der ObjectGEM-internen Routine wird
dann ein nil-Pointer zurückgegeben
und der interne Fehlerstatus auf
em_OutOfMemory gesetzt
em_InvalidWindow-4wird von Create gesetzt, wenn ein
Schnittstellenobjekt kein GEM-Handle
mittels wind_create() belegen konnte
em_InvalidMainWindow-5fatal; wird standardmäßig von
TApplication.InitMainWindow gesetzt,
wenn überhaupt kein Fenster geöffnet
werden konnte; kann und sollte über-
schrieben werden
em_AccInitFailure-10fatal; wird von TApplication.InitGEM
gesetzt, wenn bei einem Accessory
menu_register() fehlschlägt
em_GEMInitFailure-11fatal; wird von TApplication.InitGEM
gesetzt, wenn appl_init() oder
v_opnvwk() fehlschlägt
em_AESNotActive-12fatal; wird von TApplication.InitGEM
gesetzt, wenn die Applikation im AUTO-
Ordner gestartet wird
em_RscNotFound-13fatal; wird von TApplication.LoadResource
gesetzt, wenn die Resource-Datei nicht
gefunden werden konnte
em_WOpenFailure-20wird von TWindow.OpenWindow gesetzt,
wenn wind_open() fehlschlägt
em_WCloseFailure-21wird von TWindow.CloseWindow gesetzt,
wenn wind_close() fehlschlägt
em_WDestroyFailure-22wird von TWindow.Destroy gesetzt,
wenn wind_delete() fehlschlägt
em_InvalidMenu-30wird von LoadMenu gesetzt, wenn der
Menübaum nicht existiert, bereits ein
anderes Menü aktiv ist oder ein Fehler
beim Zeichnen auftritt
em_InvalidDialog-31wird von TApplication.ExecDialog und
TApplication.Alert zurückgegeben,
wenn ein Fehler aufgetreten ist;
ferner setzt LoadDialog diesen Fehler,
wenn der Dialogbaum nicht existiert
em_InvalidToolbar-32wird von TWindow.LoadToolbar gesetzt,
wenn der Objektbaum nicht existiert
oder schon eine Toolbar aktiv ist
em_SpeedoLoadFailure-40wird von TApplication.SetupVDI gesetzt,
wenn Speedo-Fonts nicht korrekt geladen
werden konnten
em_Terminate-98wird von ObjectGEM intern unter
MultiTOS verschickt, um beim Eintreffen
der MiNT-Signale SIGTERM und
SIGQUIT bzw. beim Shutdown durch
AP_TERM das Programm sauber (aber ohne
den Benutzer zu fragen) abzubrechen;
sollte ansonsten nicht gesetzt werden
em_Quit-99das Programm wird beim nächsten Ende
der MessageLoop-Schleife nach Aufruf
von TApplication.CanClose verlassen;
diese Konstante sollte nicht direkt
gesetzt werden, statt dessen sollte
TApplication.Quit aufgerufen werden

3.7 id_XXXX-Konstanten

Diese Konstanten werden im Feld TControl.ID gespeichert und standardmäßig nur von TButton und TScrollBar gesetzt. Anders genutzte IDs sind weiter unten aufgelistet.

KonstanteWertBedeutung
id_No-1der PushButton hat keine besondere Bedeutung
id_OK0der Button ist der "OK"-Button; bei Anwahl
wird die Methode TDialog.OK aufgerufen
id_Cancel1der Button ist der "Abbruch"-Button; bei Anwahl
wird die Methode TDialog.Cancel aufgerufen
id_Help2der Button ist der "Hilfe"-Button; bei Anwahl
wird die Methode TDialog.Help aufgerufen
id_Undo3der Button ist der "Undo"-Button; bei Anwahl
wird die Methode TDialog.Undo aufgerufen
id_Esc4der Button ist der "Esc"-Button; bei Anwahl
wird die Methode TDialog.Esc aufgerufen
id_NoExit42nach Anwahl dieses Dialogelements wird der
Dialog nicht verlassen; wird z.B. von
TScrollBar gesetzt, da die Applikation
zwar auf die Bildlaufleiste reagieren,
den Dialog aber nicht verlassen soll
(der Button wird also im RCS auf "EXIT"
gesetzt, da er mehr machen soll, als nur
seinen Zustand wechseln; andererseits wird
der Dialog aber von ObjectGEM durch diese
Konstante nicht verlassen, was sonst nur
durch Überschreiben von TDialog.ExitDlg
möglich wäre); auch TComboBox nutzt dieses
Flag

Folgende IDs werden nicht (nur) von TControl verwendet:

KonstanteWertBedeutung
id_No-1wird von recht vielen Routinen verwendet, um
einen "negativen" Status anzuzeigen
id_NewHandle-1zeigt bei GetVDIHandle an, daß eine neue
Workstation automatisch geöffnet werden
soll

3.8 tf_XXXX-Konstanten

Die Methode Transfer einiger abgeleiteter TControl-Objekte benutzt diese Konstanten, um die Datenübertragung zwischen der Applikation und deren Dialogen mittels TDialog.TransferBuffer zu vereinfachen.

KonstanteWertBedeutung
tf_GetData0ruft Daten aus dem Objekt ab
tf_SetData1sendet Daten, um den Wert des
Objekts zu setzen
tf_SizeData2findet die Anzahl der vom Objekt
übertragenen Bytes heraus

3.9 voXXXX-Konstanten

Die folgenden Konstanten beschreiben Eigenschaften der TValidator-Objekte und werden in deren TValidator.Options-Feld gespeichert.

KonstanteWertBedeutung
voFill1an die Eingabe werden evtl. fehlende Werte
angehängt; wird von TPXPictureValidator ver-
wendet
voNotEmpty2das Eingabefeld darf nicht leer sein,
sonst kann der Dialog nicht beendet werden
voOnAppend4wird von TPXPictureValidator gesetzt
voOnEdit8ist dieses Flag gesetzt, ruft TEdit.Edit
die Methode TValidator.IsValidInput des
zugehörigen Validators auf, in der der
übergebene Text korrigiert werden kann
voReserved240reserviert für Softdesign

3.10 vsXXXX-Konstanten

Die folgenden Konstanten zeigen den Zustand von TValidator-Objekten an und werden in deren TValidator.Status-Feld gespeichert.

KonstanteWertBedeutung
vsOK0alles OK, kein Fehler aufgetreten
vsSyntax1ungültige Maske bei TPXPictureValidator

3.11 wb_XXXX-Konstanten

Das Feld TControl.Flags beschreibt zusätzliche Eigenschaften eines Dialogelementobjekts.

KonstanteWertBedeutung
wb_Transfer1das Dialogelementobjekt nimmt am Transfer-
Mechanismus teil; standardmäßig wird dieses
Flag von TCheckBox, TRadioButton, TTriState
und TEdit gesetzt
wb_Lazy2das Dialogelement wird nicht neu gezeichnet,
wenn eine andere Applikation den Bildschirm
blockiert hat (wichtig für Statusanzeigen);
wird von TControl.Paint beachtet

3.12 ws_XXXX-Konstanten

Diese in TWindow.Attr.Status gespeicherten Werte geben den Zustand eines Fensters an.

KonstanteWertBedeutung
ws_NoWindow1das Schnittstellenobjekt belegt kein GEM-
Handle, das Fenster ist also auch nicht offen;
TWindow.Destroy und TWindow.RawDestroy setzen
diesen ursprünglichen Status zurück
ws_Created2das Schnittstellenobjekt besitzt ein GEM-
Handle, das Fenster ist aber noch nicht
offen; wird von TWindow.Create gesetzt bzw.
von TWindow.CloseWindow zurückgesetzt
ws_Open3das Fenster ist offen, es existiert also auch
ein GEM-Handle; wird von TWindow.OpenWindow
gesetzt

3.13 ws_ex_XXXX-Konstanten

Im Gegensatz zum Feld TWindow.Attr.Style, das das Aussehen des Fensters beschreibt, enthält TWindow.Attr.ExStyle die erweiterten Eigenschaften des Fensters. Die meisten Konstanten werden im Zusammenhang mit TDialog benutzt.

KonstanteWertBedeutung
ws_ex_Modeless1der Dialog muß nicht-modal sein;
wenn kein Fenster mehr geöffnet
werden kann, wird em_InvalidWindow
gesetzt (default)
ws_ex_TryModeless3es wird versucht, den Dialog
nicht-modal zu öffnen; gelingt dies
nicht, wird er modal ausgeführt
(bei TDialog default)
ws_ex_AppModal4der Dialog ist für die Applikation
modal, obwohl er in einem Fenster
und damit für das System nicht-modal
abgearbeitet wird; d.h. es kann kein
anderes Fenster der Applikation ge-
toppt werden, und die Menüs sind
gesperrt (z.Z. noch ohne Wirkung!)
ws_ex_Popup8das Fenster erscheint zentriert
um die aktuelle Mausposition
ws_ex_Center16das Fenster wird auf dem Desktop
zentriert
ws_ex_CenterOnce48das Fenster wird nur beim ersten
Aufruf zentriert, danach merkt es
sich seine Position auch nach
einem TWindow.CloseWindow
(bei TDialog default)
ws_ex_Center2Parent80das Fenster wird relativ zu seinem
Parent zentriert; ist dieses nil,
wird das Fenster auf dem Desktop
zentriert
ws_ex_MoveDial128ein modaler Dialog kann verschoben
werden; wird von TDialog gesetzt,
wenn as_MoveDials gesetzt ist
ws_ex_MoveTransparent384ein modaler Dialog kann transparent
verschoben werden; wird von TDialog
gesetzt, wenn as_MoveTransparent
gesetzt ist
ws_ex_Disabled512ab AES 4.0 kann ein Fenster in
den Hintergrund gebracht werden;
ist dieser Wert gesetzt, wird
dies von TWindow.OpenWindow
sofort nach dem Öffnen ausgeführt
ws_ex_LoadFonts1024für TWindow.vdiHandle werden GDOS-
Fonts nachgeladen, sofern GDOS in-
stalliert ist und Fonts vorhanden
sind
ws_ex_ReadOnly32768wird von TTextWindow und abgelei-
teten Objekten genutzt, um anzu-
zeigen, daß der Text im Fenster
nicht verändert werden kann

3.14 ASCII-Steuercodes

KonstanteWertBedeutung
NUL0Nil (Null)
EOS0Ende der Zeichenkette (End of String)
kein vordefinierter ASCII-Steuercode!
SOH1Anfang des Kopfes (Start of Heading)
STX2Anfang des Textes (Start of Text)
ETX3Ende des Textes (End of Text)
EOT4Ende der Übertragung (End of Transmission)
ENQ5Stationsaufforderung (Enquiry)
ACK6Positive Rückmeldung (Acknowledge)
BEL7Klingel (BEL)
BS8Rückwärtsschritt (Backspace)
HT9Horizontal-Tabulator (Horizontal Tabulation)
LF10Zeilenvorschub (Line Feed)
VT11Vertikal-Tabulator (Vertical Tabulation)
FF12Formularvorschub (Form Feed)
CR13Wagenrücklauf (Carriage Return)
SO14Dauerumschaltung (Shift-out)
SI15Rückschaltung (Shift-in)
DLE16Datenübertragungsumschaltung (Data Link Escape)
DC117Gerätesteuerung (Device Control)
DC218"
DC319"
DC420"
NAK21Negative Rückmeldung (Negative Acknowledge)
SYN22Synchronisierung (Synchronous Idle)
ETB23Ende des Datenübertragungsblocks
(End of Transmission Block)
CAN24Ungültig (Cancel)
EM25Ende der Aufzeichnung (End of Medium)
SUB26Substitution (Substitute Character)
ESC27Umschaltung (Escape)
FS28Hauptgruppen-Trennung (File Separator)
GS29Gruppen-Trennung (Group Separator)
RS30Untergruppen-Trennung (Record Separator)
US31Teilgruppen-Trennung (Unit Separator)
SP32Leerzeichen (Space)
kein vordefinierter ASCII-Steuercode!
DEL127Löschen (Delete)

3.15 Länderkennungen

Einen der folgenden aus dem System-Header bzw. dem _AKP-Cookie ermittelten Werte trägt TApplication.Init in das Feld TApplication.Attr.Country ein:

KonstanteWertBedeutung
USA0USA
FRG1Bundesrepublik Deutschland
FRA2Frankreich
UK3Großbritannien
SPA4Spanien
ITA5Italien
SWE6Schweden
SWF7Schweiz (französisch)
SWG8Schweiz (deutsch)
TUR9Türkei
FIN10Finnland
NOR11Norwegen
DEN12Dänemark
SAU13Saudi-Arabien
HOL14Niederlande
CZE15Tschechische Republik & Slowakei
HUN16Ungarn

3.16 Mausformen

ObjectGEM stellt mit SetMouse eine neue graf_mouse()-Routine zur Verfügung, so daß neben den üblichen Mausformen auch noch neue, z.T. Windows-kompatible Formen ausgewählt werden können. Trotzdem sollten Sie die Maus so selten wie möglich ändern (im Hinblick auf MultiTOS). Außerdem stellt ObjectGEM ihnen einige Routinen zum Ändern zur Verfügung (HideMouse, ShowMouse, ArrowMouse, BusyMouse, LastMouse etc.), die Sie anstelle von graf_mouse() verwenden sollten.

KonstanteWertBedeutung
IDC_ARROW0normaler Pfeil
IDC_IBEAM1Text-Cursor
IDC_CROSS5feines Fadenkreuz
IDC_WAIT100die Windows-Sanduhr
HOURGLASS100"
IDC_LOAD101eine Diskette
IDC_HELP102Pfeil mit Fragezeichen;
wird von der BubbleHelp verwendet
IDC_PENCIL103ein Zeichenstift
IDC_RUBBER104ein Radiergummi
IDC_SCISSORS105eine Schere
IDC_PASTE106eine Klebetube
IDC_SLICE1107
IDC_SLICE2108vier Konstanten für die Routinen
IDC_SLICE3109SliceMouse und SliceMouseNext
IDC_SLICE4110

3.17 MiNT-Signale

Im folgenden sind die Signale beschrieben, die MiNT/MultiTOS an Prozesse schickt (oder die dieses untereinander verschicken). ObjectGEM reagiert nur auf SIGTERM und SIGQUIT.

KonstanteWertBedeutung
SIGNULL0dies ist eigentlich kein Signal, da es nie an
Prozesse verschickt wird; allerdings kann man
damit die Präsenz eines Child-Prozesses testen
SIGHUP1das Ein-/Ausgabe-Terminal ist nicht mehr gültig;
wird vom Window Manager (z.B. MW) verschickt,
wenn der Benutzer das Terminalfenster schließt
SIGINT2Unterbrechung;
wird verschickt, wenn der Benutzer <Control>+<C>
drückt; die aktuelle Aktion bzw. das Programm
soll abgebrochen werden
SIGQUIT3Abbruch;
wird nach Drücken von <Control>+<\> verschickt;
das Programm soll dringend beendet werden!
SIGILL4ein illegaler Assembler-Befehl sollte
ausgeführt werden
SIGTRAP5Einzelschrittausführung (z.B. für Debugger)
SIGABRT6"Grausamer Fehler"
der aufgetretene Fehler ist so schwer, daß
das Programm sofort und ohne "Aufräumarbeiten"
verlassen werden sollte (bzw. wird)
SIGPRIV7es wurde versucht, einen Supervisor-Befehl
im User-Modus auszuführen
SIGFPE8Division durch Null oder Überlauf
SIGKILL9Prozeßabbruch;
kann nicht abgefangen werden; der
Prozeß wird unwiderruflich entfernt
SIGBUS10Bus-Fehler
SIGSEGV11Adreß-Fehler; es wurde auf eine illegale
Speicheradresse zugegriffen
SIGSYS12bei einem Systemaufruf wurden falsche
Werte übergeben
SIGPIPE13es wurde versucht, in eine nicht existierende
Pipe zu schreiben, bzw. die Pipe ist zerbrochen
SIGALRM14die mit Talarm() gesetzte Zeit ist abgelaufen
SIGTERM15Prozeß bitte beenden;
wird z.B. verschickt, wenn ein Prozeß aus
U:\PROC auf den Papierkorb gezogen wird
SIGSTOP17der Prozeß wird angehalten
SIGTSTP18der Prozeß wird "gebeten", anzuhalten
SIGCONT19hebt SIGSTOP oder SIGTSTP auf
SIGCHLD20ein Child-Prozeß wurde beendet
SIGTTIN21Eingabe vom falschen Terminal
SIGTTOU22Ausgabe auf falsches Terminal
SIGXCPU24die erlaubte CPU-Zeit des Prozesses
wurde überschritten
SIGWINCH28die Fenstergröße wurde geändert;
wird z.B. von MW verschickt
SIGUSR129User-Signal 1
SIGUSR230User-Signal 2

Die folgenden Konstanten werden an Psignal() statt eines Handlers übergeben:

SIG_DFLpointer(0)setzt für das angegebene Signal
wieder die Default-Routine ein
SIG_IGNpointer(1)das betreffende Signal wird von
der Applikation ignoriert

3.18 Protokoll-Messages

ObjectGEM erkennt die GEM-Messages des XAcc- und AV-Protokolls. TApplication.MUMesag leitet die Messages an TApplication.HandleAV und TApplication.HandleXAcc weiter. Beschreibungen der Protokolle finden sich u.a in TOS 2/92 (XAcc) und in der Dokumentation zur Benutzeroberfläche Gemini (AV). Das Kobold-Protokoll ist in der Anleitung des Dateikopierers beschrieben. Das Menü-Protokoll ist erstmalig mit ObjectGEM veröffentlicht und wird in Zukunft stärker unterstützt.

KonstanteWertBedeutung
ACC_ID$0400s. TApplication.XAccID
ACC_OPEN$0401
ACC_CLOSE$0402
ACC_ACC$0403s. TApplication.XAccAcc
ACC_EXIT$0404s. TApplication.XAccExit
ACC_ACK$0500
ACC_TEXT$0501s. TApplication.XAccText
ACC_KEY$0502s. TApplication.XAccKey
ACC_META$0503s. TApplication.XAccMeta
ACC_IMG$0504s. TApplication.XAccIMG
ACC_SPECIAL$0800Beginn der privaten Messages
AV_PROTOKOLL$4700s. TApplication.AVProtokoll
VA_PROTOSTATUS$4701s. TApplication.VAProtoStatus
AV_GETSTATUS$4703
AV_STATUS$4704
VA_SETSTATUS$4705
AV_SENDKEY$4710s. TApplication.AVSendKey
VA_START$4711s. TApplication.VAStart
AV_ASKFILEFONT$4712
VA_FILEFONT$4713
AV_ASKCONFONT$4714
VA_CONFONT$4715
AV_ASKOBJECT$4716
VA_OBJECT$4717
AV_OPENCONSOLE$4718
VA_CONSOLEOPEN$4719
AV_OPENWIND$4720
VA_WINDOPEN$4721
AV_STARTPROG$4722s. TApplication.AVStartProg
VA_PROGSTART$4723
AV_ACCWINDOPEN$4724
VA_DRAGACCWIND$4725
AV_ACCWINDCLOSED$4726
AV_COPY_DRAGGED$4728
VA_COPY_COMPLETE$4729
AV_PATH_UPDATE$4730
AV_WHAT_IZIT$4732
VA_THAT_IZIT$4733
AV_DRAG_ON_WINDOW$4734
VA_DRAG_COMPLETE$4735
AV_EXIT$4736s. TApplication.AVExit
VA_OB_UNKNOWN0
VA_OB_TRASHCAN1
VA_OB_SHREDDER2
VA_OB_CLIPBOARD3
VA_OB_FILE4
VA_OB_FOLDER5
VA_OB_DRIVE6
VA_OB_WINDOW7
MSG_SETSTATUS1
MSG_START2
MSG_SENDKEY1
MSG_ASKFILEFONT2
MSG_ASKCONFONT4
MSG_ASKOBJECT8
MSG_OPENWIND16
MSG_STARTPROG32
MSG_ACCWINDOPEN64
MSG_STATUS128
MSG_COPY_DRAGGED256
MSG_PATH_UPDATE512
MSG_EXIT1024
KOBOLD_JOB$2f10
KOBOLD_JOB_NO_WINDOW$2f11
KOBOLD_ANSWER$2f12
KOBOLD_CONFIG$2f13
KOBOLD_FIRST_SLCT$2f14
KOBOLD_NEXT_SLCT$2f15
KOBOLD_CLOSE$2f16
KOBOLD_FREE_DRIVES$2f17
WM_SAVE$1000
WM_SAVEAS$1001
WM_PRINT$1002s. Print
WM_UNDO$1003
WM_CUT$1004s. Cut
WM_COPY$1005s. Copy
WM_PASTE$1006s. Paste
WM_SELECTALL$1007s. SelectAll
WM_FIND$1008
WM_REPLACE$1009
WM_FINDNEXT$100a
WM_HELP$100b
WM_DELETE$100cs. Delete
VIEW_FILE$5600
VIEW_FAILED$5601
VIEW_OPEN$5602
VIEW_CLOSED$5603
VIEW_DATA$5604
VIEW_GETMFDB$5610
VIEW_SETMFDB$5611
VIEW_MFDB$5612
VIEWERR_ERROR0
VIEWERR_SIZE1
VIEWERR_COLOR2
VIEWERR_WID3
VIEWERR_MEM4

3.19 SCF_XXXX-Konstanten

Folgende Konstanten charakterisieren den Dateityp im Klemmbrett und können in der Bitmap von TApplication.SCChanged ausgewertet werden (die angegebenen Extensions sind nur Beispiele):

KonstanteWertBedeutung
SCF_INDEF$0000Die Datei paßt auf keine der folgenden Typen
SCF_DBASE$0001Daten, die in eine Datenbank geladen werden
können ('.DBF','.CSV')
SCF_TEXT$0002Textdateien ('.TXT','.ASC','.RTF','.DOC')
SCF_VECTOR$0004Vektorgrafik ('.GEM','.EPS','.CVG')
SCF_RASTER$0008Rastergrafik ('.IMG','.TIF','.GIF','.PCX')
SCF_SHEET$0010Tabellenkalkulation ('.DIF','.WKS')
SCF_SOUND$0020Samples, MIDI-Files, Klänge ('.MOD')

Die zugehörige Message ist folgendermaßen deklariert:

SC_CHANGED$0050

3.20 Tastatur-Werte

Die folgenden Werte werden von MapKey zurückgeliefert. Die Bezeichnungen sollten weitestgehend selbsterklärend sein.

KonstanteWertBedeutung
KsCAPS$0010Bits zur Kennzeichnung des Shift-Status
KsALT$0008
KsCONTROL$0004
KsSHIFT$0003
KsLSHIFT$0002
KsRSHIFT$0001
KsNORMAL$0000
KbSCAN$8000Masken für Status-Bits, die im oberen
KbNUM$4000Byte des von MapKey zurückgegebenen
KbALT$0800Words plaziert sind
KbCONTROL$0400
KbLSHIFT$0200
KbRSHIFT$0100
KbISO$0037ISO-Taste; erscheint, wenn eine Nicht-
US-Tastatur mit US-TOS benutzt wird
KbF1$003bFunktionstasten
KbF2$003c
KbF3$003d
KbF4$003e
KbF5$003f
KbF6$0040
KbF7$0041
KbF8$0042
KbF9$0043
KbF10$0044
KbF11$0054Shift-Funktionstasten
KbF12$0055
KbF13$0056
KbF14$0057
KbF15$0058
KbF16$0059
KbF17$005a
KbF18$005b
KbF19$005c
KbF20$005d
KbUNDO$0061Cursor-Bereich
KbHELP$0062
KbINSERT$0052
KbHOME$0047
KbUP$0048
KbDOWN$0050
KbLEFT$004b
KbRIGHT$004d
KbAlt1$0078Alternate-numerische Taste
KbAlt2$0079
KbAlt3$007a
KbAlt4$007b
KbAlt5$007c
KbAlt6$007d
KbAlt7$007e
KbAlt8$007f
KbAlt9$0080
KbAlt0$0081

Folgende Werte erleichtern die Programmierung/Wartung:

K_NORMAL$0000
K_SHIFTK_LSHIFT+K_RSHIFT

Die folgenden Konstanten werden neu definiert, damit die Konstanten aus der Unit Gem nicht mit den TDialog-Methoden kollidieren.

S_Escgem.Esc
S_Undogem.Undo
S_Helpgem.Help

3.21 Sonstige Konstanten

KonstanteWertBedeutung
GOVersion$0150ObjectGEM-Version (VtoS)
GODate$07251996ObjectGEM-Erstellungsdatum
(Umwandlung mit DtoS)
DESK0bezeichnet Fenster 0 (Desktop)
CLIP_ON1Konstanten für vs_clip()
CLIP_OFF0
PER_ON1Konstanten für vsf_perimeter()
PER_OFF0
ME_DRAW1Konstanten für menu_bar()
ME_ERASE0(ME_INQUIRE erst ab AES 4.0)
ME_INQUIRE-1
ME_CHECK1Konstanten für menu_icheck()
ME_UNCHECK0
ME_DISABLE0Konstanten für menu_ienable()
ME_ENABLE1
ME_NORMAL1Konstanten für menu_tnormal()
ME_INVERT0
NDC0Konstanten für v_opnvwk()
RC2(normalisiertes oder Raster-
koordinatensystem)

HexArray: array [0..15] of char = ('0','1','2','3','4','5','6','7',
                                   '8','9','a','b','c','d','e','f');


Home Inhaltsverzeichnis Felder und Methoden Objekte