3.80 DM_ValueGet
Diese Funktion dient dazu, aus Sammlungen einen einzelnen Elementwert zu holen, der zu einem definierten Index gehört.
Ist der definierte Index NULL, so wird der Gesamtwert zurückgegeben, was normalerweise einem Kopieren des Wertes entspricht.
Handelt es sich beim retvalue-Parameter um einen ungemanagten Wert, so bleibt dieser auch ungemanagt. Bei der Rückgabe von Strings werden diese nur in einem temporären Puffer gemerkt, der beim nächsten Aufruf einer DM-Funktion ohne DMF_DontFreeLastStrings-Option wieder gelöscht bzw. überschrieben werden kann.
DM_Boolean DML_default DM_EXPORT DM_ValueGet
(
DM_Value *value,
DM_Value *index,
DM_Value *retvalue,
DM_Options options
)
Parameter
-> DM_Value* value
Dieser Parameter verweist auf die Wertereferenz, von welcher der Elementwert geholt wird. Es sollte eine gemanagte Wertereferenz oder Funktionsargument sein.
-> DM_Value * index
Dieser Parameter definiert den Index von dem der Elementwert geholt wird. Dieser Parameter muss kein gemanagter Wert sein. Falls der Parameter auf NULL gesetzt ist, wird der value-Parameter in den Rückgabeparameter retvalue kopiert.
-> DM_Value * retvalue
Dieser Parameter definiert den Wert, der gesetzt werden soll. Es kann sich dabei um eine gemanagte oder auch um eine ungemanagte Wertereferenz handeln. Ist dieser Wert NULL, so wird der Wert bzw. das Element auf DT_undefined gesetzt.
-> DM_Options options
Hier sind folgende Optionen möglich:
Option |
Bedeutung |
---|---|
DMF_StaticValue |
Bei der automatischen Umwandlung des value-Parameters in eine gemanagte Wertereferenz wird diese als statische bzw. globale Wertereferenz behandelt. |
DMF_GetLocalString |
Diese Option bedeutet, dass bei textuellen Werten (IDs vom Typ DT_text) diese als String in der aktuell eingestellten Sprache zurückgegeben werden sollen. |
DMF_GetMasterString |
Diese Option bedeutet, dass bei textuellen Werten (IDs vom Typ DT_text) diese als String in der Entwicklungssprache zurückgegeben werden sollen, unabhängig davon, mit welcher Sprache der Benutzer gerade arbeitet. |
DMF_DontFreeLastStrings |
Normalerweise werden Strings in einem temporären Puffer an die Anwendung übergeben, der bis zum nächsten Aufruf an den IDM erhalten bleibt. Sollen Strings länger in der Anwendung gültig sein, muss diese Option DMF_DontFreeLastStrings gesetzt werden. Der Speicher wird erst dann wieder freigegeben, wenn ein Aufruf an eine IDM-Funktion ohne diese Option erfolgt und dabei ein String vom IDM an die Anwendung zurückgegeben wird. |
Rückgabewert
DM_TRUE |
Das Holen des Wertes war erfolgreich. |
DM_FALSE |
Der Wert konnte nicht geholt werden. Das kann auf fehlerhaften Aufruf, eine nicht gemanagte oder ungültige Wertereferenz oder eine fehlerhafte Indizierung hinweisen. |
Verfügbarkeit
Siehe auch