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

Ab IDM-Version A.06.01.a

Siehe auch

Funktionen DM_ValueChange, DM_ValueCount, DM_ValueIndex