Ausdruck oder Verweis einer benutzerdefinierten Eigenschaft zur Laufzeit ändern
- Last UpdatedJun 08, 2026
- 2 minute read
Sie können den Ausdruck oder Verweis einer benutzerdefinierten Eigenschaft zur Laufzeit ändern. Verwenden Sie hierzu in einem Grafikskript die Methode SetCustomPropertyValue():
SetCustomPropertyValue(System.String Name, System.String Wert, System.Boolean IsConstant);
Diese Methode können Sie im Industriegrafik-Editor direkt über den Elementkatalog auswählen.
Die Methode hat drei Parameter:
-
Name – Name der benutzerdefinierten Eigenschaft, die in der Grafik geändert werden soll. Datentyp: String (Verweis oder konstanter Wert)
-
Wert – Der neue Wert. Datentyp: String (Verweis, Ausdruck oder konstanter Wert). Werte in Anführungszeichen (") werden als konstanter Wert interpretiert, Werte ohne Anführungszeichen als Verweis.
-
IsConstant – Schalter, der festlegt, ob der neue Wert als reine Zeichenfolge oder als Verweis interpretiert werden soll. Datentyp: Boolean. Beim Wert „wahr“ (True, 1) wird der neue Wert als normaler Zeichenfolgenwert interpretiert. Beim Wert „falsch“ (False, 0) wird der neue Wert als Verweis interpretiert. Dieser Parameter ist nur relevant, wenn der Parameter Wert eine Zeichenfolge ist und die über den Parameter Name angegebene Eigenschaft den Datentyp „String“ oder „Time“ hat. Bei Eigenschaften des Typs „Integer“, „Float“, „Boolean“ oder „Double“ hat er keine Bedeutung.
Hinweis: Der Parameter isConstant hat keinen Einfluss darauf, wie der Parameter Wert belegt werden kann. Für den Parameter Wert kann in jedem Fall ein konstanter Wert (mit Anführungszeichen) oder ein Verweis (ohne Anführungszeichen) übergeben werden. Der Parameter IsConstant steuert also nur, als was der eigentliche (direkt oder per Verweis übergebene) Wert des Parameters Wert interpretiert wird.
Der Inhalt der benutzerdefinierten Eigenschaft wird komplett durch den neuen Wert ersetzt. Dabei ist es unerheblich, ob es sich noch um den Vorgabewert der Eigenschaft handelt oder ob dieser bereits vorher überschrieben wurde. Es ist nicht möglich, den Inhalt nur teilweise zu ersetzen.
Es können nur öffentliche benutzerdefinierte Eigenschaften der Grafik geändert werden.
Beim Aufruf der Methode werden etwaige Änderungen überschrieben, die bereits mit der Skriptfunktion IOSetRemoteReference() aus einem nativen InTouch-Skript heraus vorgenommen wurden.
Beispiel für die Konfiguration einer benutzerdefinierten Eigenschaft als Verweis: Das Objekt „Motor_001“ hat ein String-Attribut namens „Status“, das den aktuellen Betriebszustand des Motors als Text enthält („Läuft“ oder „Steht“). Sie haben auch eine Industriegrafik mit der benutzerdefinierten String-Datentyp-Eigenschaft „Motorstatus“. Mit dem folgenden Aufruf wird zur Laufzeit ein Verweis auf „Motor_001.Status“ in die Eigenschaft „Motorstatus“ geschrieben:
GrafikA.SetCustomPropertyValue("Motorstatus","Motor_001.Status",False);
Die benutzerdefinierte Eigenschaft „GrafikA.Motorstatus“ enthält nach diesem Aufruf also einen Verweis auf das Attribut „Motor_001.Status“. Dieser wird aufgelöst, sodass die Eigenschaft laufend mit dem Wert dieses Attributs aktualisiert wird. Wenn Sie also beispielsweise den Wert der Eigenschaft über eine Wertanzeige visualisieren, sehen Sie dort den Wert „Läuft“ oder „Steht“.
Beispiel für die Konfiguration einer benutzerdefinierten Eigenschaft als konstanter Wert: Das Objekt „Motor_001“ hat ein Binärattribut namens „Status“, das den aktuellen Betriebszustand des Motors abbildet („Wahr“ oder „Falsch“). Sie haben auch eine Industriegrafik mit der benutzerdefinierten String-Datentyp-Eigenschaft „Motorstatus“. Mit dem folgenden Skript wird abhängig vom Wert des Attributs „Motor_001.Status“ der Betriebszustand des Motors als reiner Zeichenfolgenwert („Läuft“ oder „Steht“) in die benutzerdefinierte Eigenschaft „Motorstatus“ geschrieben.
IF Motor_001.Status THEN
GrafikA.SetCustomPropertyValue("Motorstatus","Läuft",True);
ELSE
GrafikA.SetCustomPropertyValue("Motorstatus","Steht",True);
ENDIF;
Die benutzerdefinierte Eigenschaft „GrafikA.Motorstatus“ enthält nach diesem Aufruf also den Textwert „Läuft“ oder „Steht“, je nach dem Wert des Attributs „Motor_001.Status“.