Skip to main content
Eine benutzerdefinierte Eigenschaft ist eine typisierte Variable, die zu einem Element gehört. Diese Eigenschaften werden im Abschnitt Externes Feld auf der Registerkarte Erweitert definiert. Verwenden Sie das folgende Format:
wobei Name der Name der Variablen und Type ihr Typ ist. Wenn Felder erstellt werden, werden sie automatisch initialisiert. Zum Beispiel werden numerische Felder mit dem Wert null initialisiert, und Rechtecke und Regionen mit leeren Werten.

Gültigkeitsbereich und Zugriff von Feldern

Felder können in dem Element verwendet werden, zu dem sie gehören, sowie in jedem Element, das im Suchbaum darunter liegt. Der Wert eines Felds kann nur in dem Element geändert werden, zu dem es gehört. In anderen Elementen ist er nur lesbar verfügbar. Um auf ein Feld eines Elements zuzugreifen, verwenden Sie den vollständigen Feldnamen im Format ElementName.FieldName (zum Beispiel SearchElements.StaticText1.x). Innerhalb eines Elements kann auf das zugehörige Feld über den Namen zugegriffen werden: x. Bei einem zusammengesetzten Element können auch seine Subelemente (auf jeder Verschachtelungsebene) über ihre Kurznamen auf seine Felder zugreifen. Der Wert eines komplexen Ausdrucks, der die Hypothese für ein Element beschreibt, kann berechnet und in eine Eigenschaft geschrieben werden. Auf diesen Wert kann dann von jedem Element weiter unten im Suchbaum zugegriffen werden, ohne ihn jedes Mal neu berechnen zu müssen. Dadurch wird die zum Abgleichen des FlexiLayout erforderliche Zeit reduziert, es ist nicht mehr nötig, einen großen Ausdruck in jedes Element zu kopieren, und der Code wird besser lesbar.

Einschränkungen für Feldnamen

  • Innerhalb eines Elements müssen Feldnamen eindeutig sein.
  • Der Name eines Elements innerhalb eines zusammengesetzten Elements darf nicht mit einem Feldnamen seiner Subelemente übereinstimmen (unabhängig von der Verschachtelungsebene).
  • Die Feldnamen eines zusammengesetzten Elements dürfen nicht mit den Namen seiner Subelemente übereinstimmen.

Beispiel: den Abgleich des FlexiLayouts mit einer benutzerdefinierten Eigenschaft beschleunigen

In diesem Beispiel wird nach zwei Adresskomponenten gesucht: einer Stadt (Zeichenkette City) und einer U-Bahn-Station (Zeichenkette Station). Die U-Bahn-Station wird nur dann angegeben, wenn die Stadt Moskau ist. Um den Abgleich des FlexiLayouts zu beschleunigen, definiert das Beispiel für das Element City eine Eigenschaft fromMoscow. Diese Eigenschaft ist true, wenn das Element City erkannt wird und den Wert “Moscow” hat, und in allen anderen Fällen false. Code für das Element City im Abschnitt Externes Feld:
Im Abschnitt Erweiterte Nach-Suchbeziehungen:
Das Element Station verwendet dann diese Eigenschaft, um nur nach der Station zu suchen, wenn Moskau als Element City erkannt wird. Code für das Element Station im Abschnitt Advanced pre-search relations:
Aufgrund der Felder gelten Elemente desselben Typs nicht als identisch.Daher ist die folgende Konstruktion verboten: