Bezieht sich auf | |||
Produkt(e): | MicroStation | ||
Version(en): | 08.11.09.459 | ||
Umbegung: | Windows 7 32 bit,Windows 7 64 bit | ||
Produktbereich: | Programmierung | ||
Produktunterbereich: | .NET | ||
Ursprünglicher Autor: | Artur Goldsweer, Bentley Technical Support Group | ||
Beim Versuch mit einer C# Addin Applikation das letzte in einer Zeichnung erstellte graphische Element auszulesen, kommt es zu einem Laufzeitfehler bei der Methode:
ActiveModelReference.GetLastValidGraphicalElement
Zur Verhinderung von Problemen muss eine explizite Typumwandlung (explicit casting) durchgeführt werden (element),
dadurch ist sichergestellt, dass ein Objekt vom Typ Element zurücggegeben wird:
long i = app.ActiveModelReference.GraphicalElementCache.Count; if (i>0) { Element lastEle = (Element)app.ActiveModelReference.GetLastValidGraphicalElement(); app.MessageCenter.AddMessage("Last element found: is type " + lastEle.Type.ToString()); }
Zum Vergleich der analoge Sourcecode in VBA, hier ist keine explizite Typumwandlung notwendig:
Dim i As Long i = ActiveModelReference.GraphicalElementCache.Count If (i > 0) Then Dim lastEle As element Set lastEle = ActiveModelReference.GetLastValidGraphicalElement MessageCenter.AddMessage ("Last element found: is type " & lastEle.Type) End If