Autor
|
Thema: TypeName (.net) (1026 mal gelesen)
|
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 23. Aug. 2006 10:16 <-- editieren / zitieren --> Unities abgeben:
Hallo ich durchsuche eine Struktur und möchte mit TypeName überprüfen um was für ein Document es sich handelt. In Catscript funktioniert es einwandfrei Code:
Sub CATMain() Analysieren(Catia.ActiveDocument.Product) End Sub Sub Analysieren(P as Product) Dim Pdoc as Document Set Pdoc = P.ReferenceProduct.Parent msgbox(Typename(Pdoc)) Dim PP as Products Dim I as Integer Set PP =P.Products for I = 1 to PP.Count
Analysieren(PP.Item(I)) next End sub
In .net Code: Public CATIA As Object = (System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application"))Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Analysieren1(CATIA.ActiveDocument.Product) End Sub Sub Analysieren1(ByVal P As Product) Dim Pdoc As Document = P.ReferenceProduct.Parent MsgBox(TypeName(Pdoc)) Dim PP As Products = P.Products Dim I As Integer For I = 1 To PP.Count Analysieren1(PP.Item(I)) Next End Sub
Hier bekomm ich als Meldung immer nur "_ComObject" Weiss jemand warum oder kann mir weiterhelfen? [Diese Nachricht wurde von Augustiner am 23. Aug. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 23. Aug. 2006 10:44 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo Andi, mal wieder Ärger mit .NET? Ich auch! (s. neuer thread) TypeName klappt nicht zuverlässig, hab mal wieder kein (wirklichen) Plan warum, aber das geht: Code: Dim MyDoc As Document = CATIA.ActiveDocument If TypeOf (MyDoc) Is PartDocument Then MsgBox("Part") Else MsgBox("Product") End If
Ich habs inzwischen aufgegeben und nutze nur noch TypeOf, dass hier hab ich mir mal während der probierphase notiert:
Code:
Dim body1 'As Body body1 = bodies1.Item("PartBody") Dim shapes1 As Shapes shapes1 = body1.Shapes Dim Fillet1 As ConstRadEdgeFillet Fillet1 = body1.Shapes.Item("EdgeFillet.1") '--> Zuweisung über body1, der Object ist MsgBox(TypeName(Fillet1)) '--> ConstRadEdgeFillet Fillet1 = Shapes1.Item("EdgeFillet.1") '--> Zuweisung über Shapes1, ist Typisiert als Shapes MsgBox(TypeName(Fillet1)) '--> COMObject
Hängt also auch vom dimmen ab... Gruß CAMiCADse Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 23. Aug. 2006 11:19 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|