Ich hab ein Problem mit der COM-Schnittstelle zu CATIA und C#:
Ich versuche ein Part einzufärben :
Code:object CATIA0 = Marshal.GetActiveObject("CATIA.Application"); INFITF.Application CATIA = CATIA0 as INFITF.Application; INFITF.Document d = CATIA.ActiveDocument; INFITF.Selection sel = d.Selection; INFITF.VisPropertySet vis = sel.VisProperties; //<-hier steigt er aus vis.SetRealColor(100,100,100,1);
Dabei bekomme ich die Fehlermeldung: "Zugriff auf einen unzulässigen Speicherbereich". Wenn ich das Programm nochmals starte quittiert er mit "Ausnahmefehler des Servers".
Das schlimme nun ist: Dieser Code oben hat schon funktioniert! Also vor ca. 1 Woche konnte ich damit meine Parts färben. Ich hab nun schon ein leeres Windows-Form-Projekt erstellt das beim Buttonclick nur den Code oben ausführt. Hilft alles nix. Ich hab versucht die CATIA DLLs zu deregistrieren und wieder neu zu registrieren -> kein Erfolg. Ist es möglich das ich mir CATIA (bzw. dessen COM-Schnittstelle) zerschossen habe? - und wenn gibt es irgendeine Lösung dafür (würde ungern CATIA neuinstallieren)
Ok, ich weiss inzwischen das CATIA Schuld ist: Auf nem anderen Entwicklerrechner funktioniert alles so wie's soll. Hab die CATIA-Settings gelöscht - hilft nix. Was könnte ich sonst noch machen??? (hab leider wenig Plan von COM)