Hallo miteinander,
vorneweg erstmal ein kurzes Lob an die cad.de'ler, die Sache mit dem Programmierforum ist echt prima. Nun zu meinem Problem. Ich habe eine UFunc geschrieben die, aus KF heraus aufgerufen, die Expressions die zu einem Sketch gehören, umbenennt. Das soll prinzipiell so funktionieren:
-Das Sketch-Feature hat optional ein Attribut "AREA_NAME" mit einem Wert , z.B. "A1", der Sketch selbst hat einen Namen z.B. "EXAMPLE_SKETCH"
-Die Dimensions im Sketch haben Default-Namen (p01 usw.) und optional hängt an diesen Dimensions ein Attribut "PARAM_NAME" mit einem Wert, z.B. "TEST_NAME".
-Die UFunc sammelt beide o.g. Attribute, sofern vorhanden, ein, baut daraus einen neuen Namen, im Beispiel "A1_TEST_NAME" und benennt die Expression um.
Das funktioniert prinzipiell prima, wenn ich die UFunc direkt in UG über den entry point ufusr() aufrufe. Keine Fehlermeldung, nix, umbenannt. Nun binde ich die Funktion in KF ein. Der einzige Zusatz ist ein Return-Wert für die KF Funktion, ansonsten ist der Code exakt gleich. Dazu dann eine KF Klasse erstellt mit einem Attribut das die Funktion aufruft und diese instanziert. Wenn ich per "Wert anzeigen" diese Funktion nun auslöse meldet mir die ufunc einen internal Error 3270089, Expression kann nicht umbenannt werden. Verrückterweise schlägt der direkte Aufruf nun mit der gleichen Fehlermeldung fehl, solange das bissl KF Code im Teil ist. Wenn ich die Klasse entferne geht's wieder.
Anbei der Quellcode, die kompilierte DLL, ein dfa file und ein Beispiel Part.Das Part öffnen und über Ausführen -> Nx öffnen die Dll ausführen. Die Expression wird umbenannt, wenn man mal im Sketch guckt.
Nun mal in dem dfa file den Pfad zur dll ändern und diese klasse instanzieren. Den Wert "call_ufunc" aufrufen und tada.
Jemand 'ne Idee ob's an mir oder an UG liegt?Ich bin für jede Hilfe dankbar.
Grüße
Christian
[Diese Nachricht wurde von Christian_K am 24. Feb. 2006 editiert.]
[Diese Nachricht wurde von Christian_K am 24. Feb. 2006 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP