set_message_tuple
— Hinzufügen eines Schlüssel-Tupeldaten-Paares zu einer Nachricht.
set_message_tuple( : : MessageHandle, Key, TupleData : )
set_message_tuple
speichert in einer Nachricht ähnlich zu
einem assoziativem Array ein Datentupel in Verbindung mit einem
Schlüssel ab. Das Nachrichtenobjekt wird durch den Parameter
MessageHandle
referenziert.
TupleData
wird in das Nachrichtenobjekt kopiert und kann
anschließend weiterverwendet oder gelöscht werden. Ein
leeres Tupel ist ebenfalls ein gültiger Wert, der mit einem
Schlüssel referenziert werden kann. Falls bereits Daten (Tupel
oder Objekt) durch den gegebenen Schlüssel referenziert werden,
werden die alten Daten freigegeben und durch TupleData
ersetzt.
Key
ist ein String oder ein Integer, wobei bei
Strings die Groß-/Kleinschreibung beachtet wird.
Die Tupeldaten für den übergebenen Schlüssel können mit Hilfe
des Operators get_message_tuple
aus dem Nachrichtenobjekt
wieder ausgelesen werden.
Falls TupleData
Handles enthält, werden nur die Handle-Werte
kopiert, nicht aber die Objekte welche die Handles referenzieren.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.
MessageHandle
(input_control, Zustand wird modifiziert) message →
(handle)
Nachrichtenobjekt.
Parameteranzahl: MessageHandle == 1
Restriktion: MessageHandle != 0
Key
(input_control) string →
(string / integer)
Schlüsselwort oder Integer.
Parameteranzahl: Key == 1
TupleData
(input_control) tuple-array →
(string / integer / real / handle)
Vom Schlüssel zu referenzierende Tupeldaten.
create_message (Message) set_message_tuple (Message, 'simple_integer', 27) set_message_tuple (Message, 'simple_string', 'Hello world') set_message_tuple (Message, 'mixed_tuple', ['The answer', 42])
Im Erfolgsfall gibt set_message_tuple
den Wert 2 (H_MSG_TRUE) zurück.
Andernfalls wird eine Fehlerbehandlung durchgeführt. Mögliche Fehler
sind ungültige Parameter (Nachrichtenobjekt oder Schlüssel) oder ein
Allokierungsfehler.
enqueue_message
,
set_message_obj
create_message
,
clear_message
,
get_message_tuple
,
set_message_obj
,
get_message_obj
,
set_message_param
,
get_message_param
,
enqueue_message
,
dequeue_message
Foundation