get_message_paramT_get_message_paramGetMessageParamGetMessageParamget_message_param (Operator)
Name
get_message_paramT_get_message_paramGetMessageParamGetMessageParamget_message_param — Abfragen von Parametern oder Information zu einer Nachricht.
Signatur
def get_message_param(message_handle: HHandle, gen_param_name: str, key: MaybeSequence[Union[str, int]]) -> Sequence[Union[int, float, str]]
def get_message_param_s(message_handle: HHandle, gen_param_name: str, key: MaybeSequence[Union[str, int]]) -> Union[int, float, str]
Beschreibung
get_message_paramget_message_paramGetMessageParamGetMessageParamGetMessageParamget_message_param fragt die aktuellen Werte der Parameter
einer Nachricht oder anderweitige Informationen zum Status einer
Nachricht ab.
Jeder Aufruf von get_message_paramget_message_paramGetMessageParamGetMessageParamGetMessageParamget_message_param darf nur einen einzelnen
Parameternamen in GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name enthalten. Es gibt
zwei unterschiedliche Arten von Abfragen:
-
Parameter, die auf die gesamte Nachricht angewendet werden. In
diesem Fall dürfen keine Schlüssel übergeben werden, d.h. dem
Parameter KeyKeyKeyKeykeykey muss ein leeres Tupel übergeben werden.
-
Parameter, die auf einen einzelnen Schlüssel angewendet
werden. In diesem Fall müssen die Schlüssel in dem Parameter
KeyKeyKeyKeykeykey übergeben werden, auf die der Parameter angewendet
werden soll. Die Schlüssel werden dabei in der gleichen Reihenfolge
abgearbeitet wie sie dem Parameter KeyKeyKeyKeykeykey übergeben werden.
Parameternamen, die unabhängig von Schlüsseln angewendet werden:
- 'message_keys'"message_keys""message_keys""message_keys""message_keys""message_keys":
Fragt alle Schlüssel ab, die in einer Nachricht gespeichert
sind, unabhängig von dem Typ der mit ihnen verbundenen Daten. Die
Liste der Schlüssel wird über den Parameter GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value
als ein Tupel von Strings zurückgegeben.
Für diese Abfrage muss dem Parameter KeyKeyKeyKeykeykey ein leeres Tupel
übergeben werden.
Parametername, die Schlüssel-spezifisch angewendet werden:
- 'key_exists'"key_exists""key_exists""key_exists""key_exists""key_exists":
-
Gibt 1 zurück, wenn der übergebenen Schlüssel in der
spezifizierten Nachricht gespeichert ist, sonst 0. Die
Ergebnisse werden im Parameter GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value zurückgegeben,
jeweils ein Wert pro übergebenem Schlüssel.
- 'key_data_type'"key_data_type""key_data_type""key_data_type""key_data_type""key_data_type":
Gibt den Wert 'tuple'"tuple""tuple""tuple""tuple""tuple" für Schlüssel zurück, die in der
Nachricht Tupeldaten referenzieren. Die Tupeldaten selbst erhält
man mit dem Operator get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTupleget_message_tuple. Der Wert
'object'"object""object""object""object""object" wird für Schlüssel zurückgegeben, welche
Objektdaten referenzieren. Die Objektdaten selbst werden vom
Operator get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObjget_message_obj zurückgegeben. Die Ergebnisse
werden im Parameter GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value zurückgegeben,
jeweils ein Wert pro Schlüssel. Dieser Parameter kann
verwendet werden um dynamisch zu entscheiden, ob
get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTupleget_message_tuple oder get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObjget_message_obj verwendet
werden muss um die Daten eines speziellen Schlüssels zu
erhalten.
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.
Parameter
MessageHandleMessageHandleMessageHandleMessageHandlemessageHandlemessage_handle (input_control) 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.
Parameteranzahl: GenParamName == GenParamValue
Defaultwert:
'message_keys'
"message_keys"
"message_keys"
"message_keys"
"message_keys"
"message_keys"
Werteliste: 'key_data_type'"key_data_type""key_data_type""key_data_type""key_data_type""key_data_type", 'key_exists'"key_exists""key_exists""key_exists""key_exists""key_exists", 'message_keys'"message_keys""message_keys""message_keys""message_keys""message_keys"
KeyKeyKeyKeykeykey (input_control) string(-array) → HTupleMaybeSequence[Union[str, int]]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Schlüssel auf das der Parameter angewendet werden
soll.
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (output_control) tuple(-array) → HTupleSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
Wert der Parameterabfrage.
Beispiel (HDevelop)
get_message_param (Message, 'message_keys', [], AllKeys)
get_message_param (Message, 'key_data_type', AllKeys, KeysType)
Ergebnis
Wenn alle Parameter und übergebenen Schlüssel gültig sind, gibt
get_message_paramget_message_paramGetMessageParamGetMessageParamGetMessageParamget_message_param den Wert 2 (H_MSG_TRUE) zurück. Andernfalls wird
eine Fehlerbehandlung durchgeführt.
Vorgänger
dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessagedequeue_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,
set_message_paramset_message_paramSetMessageParamSetMessageParamSetMessageParamset_message_param,
enqueue_messageenqueue_messageEnqueueMessageEnqueueMessageEnqueueMessageenqueue_message,
dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessagedequeue_message
Modul
Foundation