Objektreferenzen werden eingesetzt, um Beziehungen zwischen Objekten herzustellen.
Wenn Sie ein Objekt anlegen, und unterhalb dieses Objektes ein weiteres Objekt, so wie in diesem Beispiel
Produkt (z.B. Sigma) und Material (z.B. Anschlusskabel)
Dann können Sie ausgehend vom Startobjekt das Anschlusskabel über die Punktnotation
Produkt:"Sigma".Anschlusskabel
erreichen.
Möchten Sie z.B. den Preis des Anschlusskabels ermitteln, können Sie folgenden bereits toleranten Code einsetzen:
If Produkt IsA "Sigma" Then
MsgBox(Produkt:"Sigma".Anschlusskabel.Preis)
End If
Doch wie ist der Weg, wenn ausgehend vom Anschlusskabel ein Element aus dem Produkt, z.B. die Länderausführung abgefragt werden soll? Da hilft die Objektreferenz, die ausgehend vom Objekt, in der sie definiert ist, das nächste übergeordnete, oder auf gleicher Ebene nachfolgende oder auf gleicher Ebene davor liegende Objekt eines bestimmten Klassentyps findet.
Definieren Sie in der Klasse Material
Dann liefert der Zugriff auf Produkt ein Objekt vom Klassentyp Produkt, wenn es ein Objekt diesen Typs gibt oder NoValue, wenn es keines gibt. Dabei ist es belanglos, in welcher übergeordneten Ebene dieses Objekt existiert. Beim ersten Objekt, welches diese Bedingung erfüllt, wird dieses Objekt zurückgegeben.
So könnte mit dieser Objektreferenz in einem bestimmten Material folgende Steuerung geschrieben werden:
Die Steuerung wird nur ausgeführt, wenn das übergeordnete Objekt vom Klassentyp Sigma ist und die Länderausführung von Produkt bestimmte Kriterien erfüllt.