set_message_paramT_set_message_paramSetMessageParamSetMessageParamset_message_param (Operator)
Name
set_message_paramT_set_message_paramSetMessageParamSetMessageParamset_message_param — Setzen von Parametern oder Ausführen von Kommandos auf einer Nachricht.
Signatur
void SetMessageParam(const HTuple& MessageHandle, const HTuple& GenParamName, const HTuple& Key, const HTuple& GenParamValue)
void HMessage::SetMessageParam(const HString& GenParamName, const HTuple& Key, const HTuple& GenParamValue) const
void HMessage::SetMessageParam(const HString& GenParamName, const HString& Key, const HTuple& GenParamValue) const
void HMessage::SetMessageParam(const char* GenParamName, const char* Key, const HTuple& GenParamValue) const
void HMessage::SetMessageParam(const wchar_t* GenParamName, const wchar_t* Key, const HTuple& GenParamValue) const
(Nur Windows)
Beschreibung
set_message_paramset_message_paramSetMessageParamSetMessageParamSetMessageParamset_message_param kann Parameter einer Nachricht setzen oder
Aktionen auf dieser Nachricht ausführen.
Jeder Aufruf von set_message_paramset_message_paramSetMessageParamSetMessageParamSetMessageParamset_message_param darf nur einen einzelnen
Parameternamen in GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name enthalten. Es gibt
zwei unterschiedliche Arten von Parametern/Aktionen:
-
Parameter/Aktionen, die auf die gesamte Nachricht angewendete
werden können. In diesem Fall dürfen keine Schlüssel
spezifiziert werden, d.h. es muss dem Parameter KeyKeyKeyKeykeykey ein
leeres Tupel übergeben werden.
-
Parameter/Aktionen, die auf einzelne Schlüssel
angewendet werden. In diesem Fall muss eine Tupel von
Schlüsseln dem Parameter KeyKeyKeyKeykeykey übergeben werden. Die
Schlüssel werden dann in der selben Reihenfolge abgearbeitet in der
sie im Parameter KeyKeyKeyKeykeykey spezifiziert wurden.
Parameternamen, die unabhängig von Schlüsseln angewendet werden:
- 'remove_all_keys'"remove_all_keys""remove_all_keys""remove_all_keys""remove_all_keys""remove_all_keys":
Entfernt alle Schlüssel die aktuell in der Nachricht gespeichert
sind und gibt die von den Schlüsseln referenzierten ikonischen Objekten
oder Tupeldaten frei. Als Ergebnis erhält man eine leere Nachricht.
Der Parameter GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value wird in diesem Fall ignoriert,
während für KeyKeyKeyKeykeykey ein leeres Tupel übergeben werden muss.
Parametername, die Schlüssel-spezifisch angewendet werden:
- 'remove_key'"remove_key""remove_key""remove_key""remove_key""remove_key":
Entfernt die Schlüssel welche im Parameter KeyKeyKeyKeykeykey
spezifiziert werden und gibt die vom Schlüssel referenzierten
ikonischen Objekten oder Tupeldaten frei. Falls ein Fehler während der
Verarbeitung eines oder mehrerer Schlüssel auftritt, wird versucht
so weit wie möglich alle weiteren Schlüssel zu entfernen bevor der
Operator mit dem Fehler zurückkehrt. Der Parameter
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value wird in diesem Fall ignoriert.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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
MessageHandleMessageHandleMessageHandleMessageHandlemessageHandlemessage_handle (input_control, Zustand wird modifiziert) message → HMessage, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Nachrichtenobjekt.
Parameteranzahl: MessageHandle == 1
Restriktion: MessageHandle != 0
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Name des Parameters oder der Aktion.
Parameteranzahl: GenParamName == 1
Defaultwert:
'remove_key'
"remove_key"
"remove_key"
"remove_key"
"remove_key"
"remove_key"
Werteliste: 'remove_all_keys'"remove_all_keys""remove_all_keys""remove_all_keys""remove_all_keys""remove_all_keys", 'remove_key'"remove_key""remove_key""remove_key""remove_key""remove_key"
KeyKeyKeyKeykeykey (input_control) string(-array) → HTupleMaybeSequence[Union[str, int]]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Schlüssel auf den der Parameter/die Aktion angewendet
wird.
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control) tuple(-array) → HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
Werte des Parameters oder der Aktion.
Beispiel (HDevelop)
* Remove some keys
set_message_param (Message, 'remove_key', ['my_image', 'simple_string'], [])
Ergebnis
Im Erfolgsfall gibt set_message_paramset_message_paramSetMessageParamSetMessageParamSetMessageParamset_message_param den Wert TRUE zurück.
Andernfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessagedequeue_message,
create_messagecreate_messageCreateMessageCreateMessageCreateMessagecreate_message
Nachfolger
enqueue_messageenqueue_messageEnqueueMessageEnqueueMessageEnqueueMessageenqueue_message,
clear_messageclear_messageClearMessageClearMessageClearMessageclear_message
Siehe auch
create_messagecreate_messageCreateMessageCreateMessageCreateMessagecreate_message,
clear_messageclear_messageClearMessageClearMessageClearMessageclear_message,
set_message_tupleset_message_tupleSetMessageTupleSetMessageTupleSetMessageTupleset_message_tuple,
get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTupleget_message_tuple,
set_message_objset_message_objSetMessageObjSetMessageObjSetMessageObjset_message_obj,
get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObjget_message_obj,
get_message_paramget_message_paramGetMessageParamGetMessageParamGetMessageParamget_message_param,
enqueue_messageenqueue_messageEnqueueMessageEnqueueMessageEnqueueMessageenqueue_message,
dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessagedequeue_message
Modul
Foundation