| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: name conflict beim Laden von Lisp-Files (425 mal gelesen)
|
Heiko Engel Moderator
Beiträge: 3239 Registriert: 11.06.2001 Herr, stärke mich in Geduld, aber ZACK ZACK!!
|
erstellt am: 26. Apr. 2005 12:43 <-- editieren / zitieren --> Unities abgeben:
Mahlzeit, ich hab mal wieder etwas rumgespielt und neue Makros getestet. Nun kommt beim start vom OSDM folgender Fehler: Cannot export the symbol RCHTR-59411 from #<"OLI" package>, because it will cause an name conflict in #<"CUSTOM" package>. Kann mir da jemand mit dieser Info weiterhelfen? thx. ------------------ DIE inoffizielle Hilfeseite zum OneSpace Designer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorothea Mitglied
Beiträge: 242 Registriert: 22.11.2001
|
erstellt am: 26. Apr. 2005 15:38 <-- editieren / zitieren --> Unities abgeben: Nur für Heiko Engel
Hallo Heiko, Irgendwo in deinem LISP-Code gibt es die Funktionsdefinition fuer RCHTR-59411. Dort wirst du oben im File geschrieben haben: (in-package :custom) Damit gehen alle in diesem File definierten Funktionen (und Variablen) in dieses LISP-package. Dann wird diese Funktion irgendwo aufgerufen. Steht an diesen Stellen explizit das package vor dem Funktionsaufruf? Was steht in diesem LISP-File oben drinne als in-package? Gibt es irgendwo eine Stelle (export 'RCHTR-59411)? Man muss auf die Ladereihenfolge der LISP-Files achten: Wann wird ein Symbol definiert und wann wird es das erste Mal benutzt. Dann muss man schauen, ob nicht unbewusst dein Symbol evtl. in einem anderen package angelegt wird. Stimmt :in-package und use-package in allen Faellen? Wenn kein use-package benutzt wird, ist meine Funktion in allen Faellen mit dem richtigen package-Praefix versehen (custom::my-function). Das sind nur ein paar Ideen, nach denen du mal schauen koenntest.
Hoffe es hilft! Gruss Dorothea Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko Engel Moderator
Beiträge: 3239 Registriert: 11.06.2001 Herr, stärke mich in Geduld, aber ZACK ZACK!!
|
erstellt am: 26. Apr. 2005 15:43 <-- editieren / zitieren --> Unities abgeben:
Hallo Dorothea, hab soeben den Rechner runtergefahren und mach Schluss für heute Ich verstehe zwar fast nur Bahnhof (hab noch immer kein Lisp gelernt ), aber werde morgen mal genauers nachschauen ob ich was umsetzen kann. Ich lade meine Macros über die sd_customize und dann ruf ich sie nochmals in meinem menu.lsp von Walter auf, damit meine Macros schön geordnet in nem Menü erscheinen. Kann mich erionnern dass ich sowas schonmal hatte, nur weiß ich nicht mehr wie ich es gelöst hatte Gruß Heiko ------------------ DIE inoffizielle Hilfeseite zum OneSpace Designer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorothea Mitglied
Beiträge: 242 Registriert: 22.11.2001
|
erstellt am: 26. Apr. 2005 16:03 <-- editieren / zitieren --> Unities abgeben: Nur für Heiko Engel
Hallo Heiko, Wenn du dann morgen wieder startest ist hoffentlich ueber Nacht alles wieder in Ordnung geraten....... (Hoffen kann man doch, oder?) Falls nicht, starte doch mal mit der -v Option. Dann sieht du zumindest schon mal, welches File geladen wird, wenn der Fehler auftaucht. Dann schau dir an, welche Files alle vorher geladen wurden. Mit dem Fehler-produzierenden File anfangen und dann die anderen anschauen. Das waere glaube ich der beste Anfang dein Problem einzukreisen! Gruss Dorothea
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 26. Apr. 2005 16:06 <-- editieren / zitieren --> Unities abgeben: Nur für Heiko Engel
Zitat: Original erstellt von Heiko Engel: Ich lade meine Macros über die sd_customize und dann ruf ich sie nochmals in meinem menu.lsp von Walter auf
Eben. Und Walters Makro faengt wie folgt an:
Code:
(in-package :custom) (use-package :oli)
Das bedeutet, dass von allen Namen (Symbolen), die im Rest des Makros eingefuehrt werden, angenommen wird, dass sie im Namensraum (Package) "CUSTOM" angelegt wurden oder werden sollen. Wenn nun aber "RCHTR-59411" im Namensraum OLI definiert ist, gibt's Verwirrung. Ich nehme an, Du hast da irgendeine Datei, in der RCHTR-59411 definiert ist. In diese Datei wuerde ich ganz am Anfang sowas schreiben wie Code:
(in-package :heiko) (use-package :oli)
Und in Deinem menu.lsp schreibst Du dann nicht einfach RCHTR-59411, sondern HEIKO::RCHTR-59411. Das sollte helfen. Mehr zum Thema Packages gibt es in englisch und in deutsch auf den OSDM-FAQ-Seiten unter http://www.clausbrod.de/Osdm/OsdmFaqCustomization#PackageNames . Claus
------------------ OneSpace Designer Modeling FAQ: http://www.clausbrod.de/Osdm/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |