create

[ Funktion ] [ Deprecated ]

public static create(
    type: string,
    id: string,
    parent?: TcHmi.Controls.System.baseTcHmiControl | null
): TcHmi.Controls.System.baseTcHmiControl | undefined;

Funktion zum programmatischen Erstellen von Control Instanzen, basierend auf der Typbezeichnung.

create 1:

Ab Version 1.10 gilt diese Funktion als veraltet. Es wird die Verwendung der Funktion createEx empfohlen.

create 2:

Der Typ war ab Version 1.8 eine Kurzschreibung des Namens mit Prefix 'tchmi-', beispielsweise 'tchmi-button'. Seit Version 1.12 ist der Namensraum Teil des Typs. Der neue Name ist also beispielsweise 'TcHmi.Controls.Beckhoff.TcHmiButton'. Das System erkennt auch die alten Namen und setzt sie automatisch entsprechend um.

Parameter

Name

Typ

Beschreibung

type

string

Typ des neuen Controls.

id

string

Identifier des neuen Controls.

parent [ Optional ]

TcHmi.Controls.System.baseTcHmiControl

Eltern-Control des neuen Controls. Wird unter anderem genutzt zur Prüfung der Zugriffsrechte, wenn diese vom Eltern-Control abhängen.

 

Wird ein Control dynamisch auf Applikationsebene ( CodeBehind ) erstellt um es anschließend zu einem ContainerControl (View, Content, Container, etc.) hinzuzufügen ist dieser Parameter nicht zu setzen. Die Eltern-Kind-Beziehung wird dynamisch hergestellt, wenn das Control per addChild Funktion zum entsprechenden ContainerControl hinzugefügt wird.

 

Wird ein Control dynamisch innerhalb eines anderen Controls erstellt so ist dieses andere Control das logische Eltern-Control und muss bei der Erstellung des neuen Controls übergeben werden, damit Eigenschaften wie Zugriffsrechte auch auf dieses Kind-Control wirken können und das System die Möglichkeit hat dieses Kind-Control zu zerstören, wenn das Eltern-Control zerstört wird.

Rückgabewert

Typ

Beschreibung

TcHmi.Controls.System.baseTcHmiControl, undefined

Das Control-Objekt oder undefined im Fehlerfall.

create 3:

Verfügbar ab Version 1.8

Beispiel – JavaScript

// Create control within another control
var childControl = TcHmi.ControlFactory.create('tchmi-button', 'newbutton', myControl);
if(childControl!== undefined) {
    // append control to ourself
    myControl.getElement().append(childControl.getElement());
}