3.16 DM_DialogPathToID

Achtung

Die Funktion DM_DialogPathToID ist veraltet und wird nur noch aus Kompatibilitätsgründen unterstützt. An ihrer Stelle sollte DM_ParsePath verwendet werden.

Mit Hilfe dieser Funktion können Sie den Identifikator eines Objekts erfragen, wenn Sie mehr als einen Dialog geladen haben und das gesuchte Objekt sich nicht in dem zuerst geladenen Dialog befindet.

DM_ID DML_default DM_EXPORT DM_DialogPathToID
(
  DM_ID dialogid,
  DM_ID rootid,
  DM_String path
)

Parameter

-> DM_ID dialogid

Dies ist der Identifikator des Dialoges, in dem nach dem Objekt gesucht werden soll.

-> 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 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 nur auf der nächsttieferen Hierarchiestufe suchen; tiefere Hierarchiestufen werden nicht durchsucht.

    Diese Vorgehensweise ist nur dann angebracht, wenn in einem Dialog ein Objektname mehr als einmal auftritt.

-> 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.

Anmerkung

Wenn "setup" als pathangegeben wird und sowohl dialogid als auch rootid gleich 0 sind, dann wird das Setup-Objekt zurückgegeben.

Beispiel

void DML_default DM_ENTRY OkButtonCallback __1((DM_ID, dialogID))

{

  DM_ID ID1;

  DM_ID ID2;

 

  /* Abfrage eines Objektes im Dialog global */

  ID1 = DM_DialogPathToID(dialogID, 0, "ErstesObjekt");

 

  /* Abfrage über einen Pfad */

  ID2 = DM_DialogPathToID(dialogID, 0, "ErstesObjekt.Kind1");

}

Siehe auch

Funktion DM_ParsePath

Eingebaute Funktion parsepath() im Handbuch „Regelsprache“