Datentypflexible VIs passen sich an die Eingangsklassen an. Ein datentypflexibles VI, das eine Methode der Klasse A aufruft, nimmt Daten von nicht verwandten Klassen an, solange die nicht verwandte Klasse eine öffentliche Methode mit dem gleichen Namen, Anschlussfeldmuster und der gleichen Anschluss-Datenrichtung wie die Methode der Klasse A hat. Das datentypflexible VI passt sich an die Eingangsklasse an, indem es den Aufruf der Methode der Klasse A durch einen Aufruf der öffentlichen Methode der Eingangsklasse ersetzt, sofern eine solche existiert.

Verglichen mit VIs mit dynamischer Bindung passen sich datentypflexible VIs flexibler an die Eingangsklassen an. Ein VI mit dynamischer Bindung arbeitet nur mit Daten seiner eigenen Klasse und mit den Daten der untergeordneten Klassen seiner eigenen Klasse. Ein datentypflexibles VI nimmt, sofern möglich, auch Daten von Klassen an, die nicht miteinander in Beziehung stehen.

Im Zuge der Anpassung wird beim datentypflexiblen VI eine Methodenaufruf-Schnittstelle definiert, für die ein bestimmter Methodenname, ein bestimmtes Anschlussfeldmuster und eine bestimmte Anschluss-Datenrichtung erfüllt werden. Das datentypflexible VI nimmt Daten jeder Klasse an, die diesen Bedingungen genügt. Dadurch kann ein datentypflexibles VI für Arbeitsschritte an Daten unterschiedlicher Klassen verwendet werden, die nicht miteinander in Beziehung stehen. Ebenso lassen sich mehrere durch verschiedene datentypflexible VIs definierte Schnittstellen für eine Klasse implementieren.

In der folgenden Abbildung ruft die Datei Sensordaten lesen die Filter-Methode von Light Sensor.lvclass auf, die keinen gemeinsamen Vorgänger mit Sound Sensor.lvclass hat. Sensordaten lesen passt sich an Sound Sensor.lvclass an, vorausgesetzt, Sound Sensor.lvclass verfügt über eine öffentliche Methode mit demselben Namen, demselben Anschlussfeldmuster und derselben Anschlussdatenrichtung wie Filter.vi.

Ein Beispiel zur Verwendung von datentypflexiblen VIs für das Festlegen von Methodenaufruf-Schnittstellen finden Sie im Projekt labview\examples\Malleable VIs\Class Adaptation\Malleable VIs - Class Adaptation.lvproj.

Weitere Informationen

Verwenden eines datentypflexiblen VIs für verschiedene Datentypen

Auswählen zwischen datentypflexiblen VIs und polymorphen VIs