Sprung zum Seitenende Struktur Themen A...Z Titel << >>

CXI-Basis-Programmierreferenz / Version 2 / Datenaustausch / Ebene 2 / CxiMessageHandler /

class CxiMessageHandler

class CxiMessageHandler : public MessageHandlerBase

[S1:BASIS] [Portabilitätswarnung] CxiMessageHandler ist die erste Unterstufe des erweiterten Meldungssystems.

Um einen erweiterten Meldungssender und -empfänger zu definieren, sollte eine Ableitung dieser Klasse erstellt werden, wobei die virtuelle Funktion Handler2 überschrieben wird.

Die Klasse sammelt die eintreffenden Teilmeldungen und fügt sie wieder zu einem CXI-Baum zusammen. Dieser wird danach sofort als Parameter an die Funktion Handler2 übergeben und muss von ihr verarbeitet werden. Nach der Rückkehr wird die Verarbeitung als beendet betrachtet und der Baum gelöscht, es erfolgt keine Rückübertragung zum Absender.

Während das Objekt vom Typ CxiMessageHandler existiert, können beliebige Prozesse mit der Funktion Post Meldungen an diesen Empfänger schicken. Sie müssen dazu lediglich den symbolischen Namen kennen.

ACHTUNG: Bevor ein CxiMessageHandler...-Objekt gelöscht werden kann, muss der Handler verlassen werden. Programme können abstürzen, wenn sich beim Löschen des Objekts gerade eine Meldung in Bearbeitung befindet. Daher wurde mit RequestShutDown und QueryReceiverState eine Möglichkeit geschaffen, das Beenden eines Empfängers asynchron anzustoßen. Innerhalb von Destruktoren sollte WaitShutDown() aufgerufen werden. Diese Funktion wartet, bis sich keine Meldungen mehr in Verarbeitung befinden, dann deaktiviert sie den Empfänger. Erst jetzt kann das Receiver-Objekt gefahrlos gelöscht werden. Die von CXI selbst zur Verfügung gestellten Destruktoren rufen WaitShutDown() automatisch auf.

Portabilität:
Diese Klasse ist in allen unterstützten Systemen verfügbar, unter DOS müssen sich Sender und Empfänger im gleichen Programm befinden.

Memberfunktionen:
CxiMessageHandler(...) - Konstruktor
Handler2 - Bearbeitungsfunktion für empfangene Meldungen
Post - Verschicken einer erweiterten Meldung
Pass - Weiterleiten einer empfangenen Meldung
SetDriverMode - Treiber für externe Meldungen
DispatchExternalMessage - Externe Meldung lokal weiterleiten

Siehe auch:
Allgemeines zum Meldungssystem
Klassenhierarchie Meldungssystem
class CxiMessageHandlerBase - Basisempfänger
PostMessageBlock
SendMessageBlock
class CxiMessageHandlerWithQueue - Erweiterter Meldungsempfänger mit Queue
WaitState - Wartezustand


[i] CXI-Basis-Programmierreferenz
Version 2.10 72 (1014-001), erstellt am 15. April 2000
Textseite 313 von 855, Thema 8493 (CxiMessageHandler)
[c] Copyright (c) 1996-2000 by TeraConnect GmbH

Sprung zum Seitenanfang Struktur Themen A...Z Titel << >>