3.49 DM_PathToID
Achtung
Die Funktion DM_PathToID ist veraltet und wird nur noch aus Kompatibilitätsgründen unterstützt. An ihrer Stelle sollte DM_ParsePath verwendet werden.
Mit Hilfe dieser Funktion wird der Ihnen bekannte externe Name eines Objekts in die interne Bezeichnung umgewandelt. Diese interne Bezeichnung eines Objekts ist über einen Programmlauf hinweg konstant, so dass Sie die ID eines oft benötigten Objekts nicht bei jedem Zugriff erfragen müssen.
DM_ID DML_default DM_EXPORT DM_PathToID
(
DM_ID rootid,
DM_String path
)
Parameter
-> DM_ID rootid
Mit Hilfe dieses Parameters können Sie steuern, ab welchem Objekt der Dialog Manager die Suche nach dem von Ihnen gewünschten Objekt beginnt. Dabei gibt es folgende Möglichkeiten:
-
rootid = 0
Der Dialog Manager sucht in der gesamten Dialogdefinition außer in Modulen nach dem angegebenen Objekt.
Dies ist der Normalfall. Auf diese Art können auch die Identifikation von Regeln, Funktionen, Variablen und Ressourcen erfragt werden.
-
rootid != 0
Der Dialog Manager soll ab dem angegebenen Objekt auf der nächsttieferen Hierarchiestufe suchen. Wenn das Objekt ein Modul ist, wird in diesem Modul nach dem angegebenen Objekt gesucht.
Diese Vorgehensweise ist nur dann angebracht, wenn in einem Dialog ein Objektname mehr als einmal auftritt.
Regeln, Funktionen, Variablen und Ressourcen können auf diese Weise nicht erfragt werden.
-> DM_String path
Mit Hilfe dieses Pfades wird das gesuchte Objekt beschrieben. Dieser Pfad muss eindeutig ein Objekt beschreiben. Existiert der Objektname nur einmal innerhalb des Dialoges, so reicht die Angabe des Namens, um die gewünschte Referenz zu erhalten. Ist der Objektname nicht eindeutig, muss das Objekt über einen Pfad von Objektnamen, getrennt durch einen Punkt, beschrieben werden.
Rückgabewert
0 |
Das gesuchte Objekt wurde nicht gefunden oder der Name ist nicht eindeutig. |
!= 0 |
Identifikator des gesuchten Objekts. |
Mit Hilfe des so erhaltenen Identifikators eines Objekts können Sie nun auf dessen Attribute zugreifen.
Beispiel
DM_Value value;
DM_ID id;
/* The file could be opened, enable the other objects */
value.type = DT_boolean;
value.value.boolean = TRUE;
/* Get the id of the edittext "Actives" */
if ((id=DM_PathToID(0, "Actives")))
/* Change the object to sensitive */
DM_SetValue(id, AT_sensitive, 0, &value, DMF_ShipEvent);
Siehe auch
Funktion DM_ParsePath
Eingebaute Funktion parsepath() im Handbuch „Regelsprache“