set_message_tupleT_set_message_tupleSetMessageTupleSetMessageTuple (Operator)

Name

set_message_tupleT_set_message_tupleSetMessageTupleSetMessageTuple — Hinzufügen eines Schlüssel-Tupeldaten-Paares zu einer Nachricht.

Signatur

set_message_tuple( : : MessageHandle, Key, TupleData : )

Herror T_set_message_tuple(const Htuple MessageHandle, const Htuple Key, const Htuple TupleData)

void SetMessageTuple(const HTuple& MessageHandle, const HTuple& Key, const HTuple& TupleData)

void HMessage::SetMessageTuple(const HTuple& Key, const HTuple& TupleData) const

void HMessage::SetMessageTuple(const HString& Key, const HTuple& TupleData) const

void HMessage::SetMessageTuple(const char* Key, const HTuple& TupleData) const

void HMessage::SetMessageTuple(const wchar_t* Key, const HTuple& TupleData) const   (Nur Windows)

static void HOperatorSet.SetMessageTuple(HTuple messageHandle, HTuple key, HTuple tupleData)

void HMessage.SetMessageTuple(HTuple key, HTuple tupleData)

void HMessage.SetMessageTuple(string key, HTuple tupleData)

Beschreibung

set_message_tupleset_message_tupleSetMessageTupleSetMessageTupleSetMessageTuple speichert in einer Nachricht ähnlich zu einem assoziativem Array ein Datentupel in Verbindung mit einem Schlüssel ab. Das Nachrichtenobjekt wird durch den Parameter MessageHandleMessageHandleMessageHandleMessageHandlemessageHandle referenziert.

TupleDataTupleDataTupleDataTupleDatatupleData 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 TupleDataTupleDataTupleDataTupleDatatupleData ersetzt.

KeyKeyKeyKeykey 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_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTuple aus dem Nachrichtenobjekt wieder ausgelesen werden.

Achtung

Falls TupleDataTupleDataTupleDataTupleDatatupleData Handles enthält, werden nur die Handle-Werte kopiert, nicht aber die Objekte welche die Handles referenzieren.

Ausführungsinformationen

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.

Parameter

MessageHandleMessageHandleMessageHandleMessageHandlemessageHandle (input_control, Zustand wird modifiziert)  message HMessage, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Nachrichtenobjekt.

Parameteranzahl: MessageHandle == 1

Restriktion: MessageHandle != 0

KeyKeyKeyKeykey (input_control)  string HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Schlüsselwort oder Integer.

Parameteranzahl: Key == 1

TupleDataTupleDataTupleDataTupleDatatupleData (input_control)  tuple-array HTupleHTupleHtuple (string / integer / real / handle) (string / int / long / double / HHandle) (HString / Hlong / double / HHandle) (char* / Hlong / double / handle)

Vom Schlüssel zu referenzierende Tupeldaten.

Beispiel (HDevelop)

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])

Ergebnis

Im Erfolgsfall gibt set_message_tupleset_message_tupleSetMessageTupleSetMessageTupleSetMessageTuple 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.

Vorgänger

create_messagecreate_messageCreateMessageCreateMessageCreateMessage

Nachfolger

enqueue_messageenqueue_messageEnqueueMessageEnqueueMessageEnqueueMessage, set_message_objset_message_objSetMessageObjSetMessageObjSetMessageObj

Alternativen

set_message_objset_message_objSetMessageObjSetMessageObjSetMessageObj

Siehe auch

create_messagecreate_messageCreateMessageCreateMessageCreateMessage, clear_messageclear_messageClearMessageClearMessageClearMessage, get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTuple, set_message_objset_message_objSetMessageObjSetMessageObjSetMessageObj, get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObj, set_message_paramset_message_paramSetMessageParamSetMessageParamSetMessageParam, get_message_paramget_message_paramGetMessageParamGetMessageParamGetMessageParam, enqueue_messageenqueue_messageEnqueueMessageEnqueueMessageEnqueueMessage, dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessage

Modul

Foundation