| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Fehlermeldung Fehlerhafter Argumenttyp: lselsetp nil (7532 mal gelesen)
|
kathi-witt Mitglied Student des Vermessungswesens
Beiträge: 31 Registriert: 23.11.2005 AutoCAD 2000 Computer: "ACPI-PC (Advanced Configuration and Power Interface)" Intel Pentium III, 1 GHz, 640 MB RAM Grafikkarte: "NVIDIA RIVA TNT2 Model 64/Model 64 Pro (Microsoft Corporation)" Betriebssystem: Windows XP Professional Service Pack 1
|
erstellt am: 09. Mai. 2006 23:10 <-- editieren / zitieren --> Unities abgeben:
Hallo, kann mir jemand von euch sagen, was die Fehlermeldung "Fehlerhafter Argumenttyp: lselsetp nil" bei einem Aufruf einer selbst geschriebenen Funktion bedeutet? Oder wo man überhaupt nachschauen kann, wenn man solche Fehlermeldungen bekommt (so eine Art Error Codeliste oder so)? Das man nich immer nach der Nadel im Heuhaufen suchen muss, wenn so ne Meldung kommt, sondern gleich weiß aha da is das Problem... Wer schön, wenn ihr mir helfen könntet. Liebe Grüße Kathrin ------------------ "Es liegt in der menschlichen Natur, vernünftig zu denken und unlogisch zu handeln." Anatole France Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 965 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 10. Mai. 2006 01:45 <-- editieren / zitieren --> Unities abgeben: Nur für kathi-witt
Zitat: Original erstellt von kathi-witt: Hallo,kann mir jemand von euch sagen, was die Fehlermeldung "Fehlerhafter Argumenttyp: lselsetp nil" bei einem Aufruf einer selbst geschriebenen Funktion bedeutet?
Das steht doch schon wortwörtlich da: an einer Stelle, an der AutoLISP einen Auswahlsatz als Argument erwartet, wird kein Auswahlsatz bereit gestellt. Die Position im Quellcode, an der dieser Fehler auftaucht, wird Dir vom VisualLISP Entwicklungssystem doch ganz genau angezeigt. Und ums vollständig zu machen: gib mal das auf dem AutoCAD Befehlsprompt ein: Befehl: (sslength 1) Tom
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 10. Mai. 2006 07:24 <-- editieren / zitieren --> Unities abgeben: Nur für kathi-witt
Zitat: Original erstellt von archtools: ...Die Position im Quellcode, an der dieser Fehler auftaucht, wird Dir vom VisualLISP Entwicklungssystem doch ganz genau angezeigt. ...
... ja, aber nur, wenn man die VLIDE-Entwicklungsumgebung nicht nur als buntes Notepad nutzt. @kathi-witt willst du die Position des Fehlers ermitteln, dann musst du im VLIDE unter [Debugging] -> [Bei Fehler unterbrechen] anhaken. Ein im VLIDE geladenes Programm, wird dann bei Auftreten eines Fehlers gestoppt. Mittels der Tastenkombination [Strg]+[F9] kannst du dann an die Stelle des Codes hüpfen, die den Fehler verursacht hat. Die Variablen kannst du dir zu diesem Zeitpunkt noch im Überwachungsfenster ausgeben lassen. So ist es recht komfortabel möglich, die Fehlerursache zu finden. Grüße Holger
------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kathi-witt Mitglied Student des Vermessungswesens
Beiträge: 31 Registriert: 23.11.2005 AutoCAD 2000 Computer: "ACPI-PC (Advanced Configuration and Power Interface)" Intel Pentium III, 1 GHz, 640 MB RAM Grafikkarte: "NVIDIA RIVA TNT2 Model 64/Model 64 Pro (Microsoft Corporation)" Betriebssystem: Windows XP Professional Service Pack 1
|
erstellt am: 10. Mai. 2006 08:40 <-- editieren / zitieren --> Unities abgeben:
Hallo, @Tom Du weißt vielleicht das "lselsetp nil" was mit Auswahlsätzen zu tun hat, aber für mich war das nicht so klar. Wusste nur irgendwo in meinem Code hat ein Befehl ein falsches Argument, verstehst du? Und dann geht die große Suche los... Aber dank Holger, weiß ich jetzt wie man das abkürzen kann. @Holger Danke für deine Hilfe, Holger. Hab den Fehler gefunden. Jetzt weiß ich endlich, wie man rausbekommt, wo der Fehler aufgetreten ist. Danke! Gibt es nun irgendwo eine Liste, die mir sagt was z.b. "lselsetp nil" bedeutet? ------------------ "Es liegt in der menschlichen Natur, vernünftig zu denken und unlogisch zu handeln." Anatole France Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 10. Mai. 2006 08:50 <-- editieren / zitieren --> Unities abgeben: Nur für kathi-witt
Zitat: Original erstellt von kathi-witt: ... Gibt es nun irgendwo eine Liste, die mir sagt was z.b. "lselsetp nil" bedeutet? ...
nicht dass ich wüßte. Wozu auch? selset= SelectionSet -> die Fehlermeldung ist aussagekräftig genug. Es wird immer der VariablenTyp angegeben, welcher an der fehlerhaften Stelle erwartet wird, und der Wert dessen, was an dieser Stelle im Code angekommen ist - bei dir ein nil Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kathi-witt Mitglied Student des Vermessungswesens
Beiträge: 31 Registriert: 23.11.2005 AutoCAD 2000 Computer: "ACPI-PC (Advanced Configuration and Power Interface)" Intel Pentium III, 1 GHz, 640 MB RAM Grafikkarte: "NVIDIA RIVA TNT2 Model 64/Model 64 Pro (Microsoft Corporation)" Betriebssystem: Windows XP Professional Service Pack 1
|
erstellt am: 10. Mai. 2006 08:59 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Brischke: nicht dass ich wüßte. Wozu auch? [b]selset= SelectionSet -> die Fehlermeldung ist aussagekräftig genug.Es wird immer der VariablenTyp angegeben, welcher an der fehlerhaften Stelle erwartet wird, und der Wert dessen, was an dieser Stelle im Code angekommen ist - bei dir ein nil Grüße Holger [/B]
Na gut, hätte ja sein können, dass es so etwas gibt... Na dann danke ich nochmal für deine Hilfe und wünsche dir einen schönen Tag. Bis zum nächsten Mal Liebe Grüße Kathrin ------------------ "Es liegt in der menschlichen Natur, vernünftig zu denken und unlogisch zu handeln." Anatole France Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 965 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 11. Mai. 2006 18:54 <-- editieren / zitieren --> Unities abgeben: Nur für kathi-witt
Zitat: Original erstellt von kathi-witt:
Du weißt vielleicht das "lselsetp nil" was mit Auswahlsätzen zu tun hat, aber für mich war das nicht so klar.
Naja, Programmieren ist sowas ähnliches wie permanent neue Rätsel zu lösen - ohne Spass am Lösen vertrackter Aufgaben wird man nicht glücklich als Programmierer. Wie geht man vor, wenn man die Antwort auf Deine Frage herausfinden will? Nun, es gibt Testfunktionen wie LISTP und NUMBERP, bei denen das "P" für "Probe" steht, also für "Prüfung". NUMBERP prüft also, ob das Argument eine "Number", also eine Zahl ist. NUMBERP kannte ich schon, SELSETP kannte ich bis zu Deiner Anfrage übrigens auch nicht, und das gibt's tatsächlich auch gar nicht als LISP-Funktion. So, dann haben wir also nur noch das Rätsel zu lösen, die Bedeutung von SELSETP heraus zu finden. Anscheinend soll damit geprüft werden, ob das Argument ein SELSET ist. Und was fällt dem Lisp-Programmierer zu SELSET ein? Richtig, Holger hat's ja schon gesagt. Überprüfen wir das doch einfach mal, indem wir AutoLISP absichtlich ein falsches Argument übergeben, wo es einen Auswahlsatz erwartet - das hatte ich in meinem Beitrag als Lösungsansatz schon angegeben: Befehl: (sslength 1) SSLENGTH erwartet einen Auswahlsatz, wir geben eine Zahl. Und mit welcher Fehlermeldung bedankt sich AutoLISP dafür? Aha. Willst Du nicht eben schnell eine Funktion SELSETP programmieren, die Du zukünftig zur Vermeidung von solchen Fehlern verwenden kannst? Frohes Raten Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 11. Mai. 2006 20:04 <-- editieren / zitieren --> Unities abgeben: Nur für kathi-witt
Nungut, dann sammeln wir halt mal: Fehler: Fehlerhafter Argumenttyp:
- lselsetp : Selectionset (Auswahlsatz) erwartet
- fixnump : Integerwert (Ganzzahl) erwartet
- numberp : Zahl (irgendeine Zahl) erwartet
- listp : Liste erwartet
- stringp : String (Zeichenkette) erwartet
- lentityp : Entity (Elementname) erwartet
- file : Filedescriptor (Dateibezeichner) erwartet
Weitere? Grüsse Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
s.wickel Mitglied Bauingenieur Wasserwirtschaft
Beiträge: 422 Registriert: 17.12.2001 Bricscad V7 - V11
|
erstellt am: 12. Mai. 2006 09:40 <-- editieren / zitieren --> Unities abgeben: Nur für kathi-witt
Zitat: Original erstellt von Brischke:
willst du die Position des Fehlers ermitteln, dann musst du im VLIDE unter [Debugging] -> [Bei Fehler unterbrechen] anhaken. Ein im VLIDE geladenes Programm, wird dann bei Auftreten eines Fehlers gestoppt. Mittels der Tastenkombination [Strg]+[F9] kannst du dann an die Stelle des Codes hüpfen, die den Fehler verursacht hat. Die Variablen kannst du dir zu diesem Zeitpunkt noch im Überwachungsfenster ausgeben lassen.
Mann! Hätte ich das mal vorher gewußt! Ich behelfe mir seit Jahren mit Haltepunkten und schrittweiser abarbeitung! 10 Us für Holger! (1000 Us wären bessen, dann wären es für jede verlorene Stunde einer). Viele Grüße, Stefan
[Diese Nachricht wurde von s.wickel am 12. Mai. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kathi-witt Mitglied Student des Vermessungswesens
Beiträge: 31 Registriert: 23.11.2005 AutoCAD 2000 Computer: "ACPI-PC (Advanced Configuration and Power Interface)" Intel Pentium III, 1 GHz, 640 MB RAM Grafikkarte: "NVIDIA RIVA TNT2 Model 64/Model 64 Pro (Microsoft Corporation)" Betriebssystem: Windows XP Professional Service Pack 1
|
erstellt am: 12. Mai. 2006 12:30 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von wronzky: Nungut, dann sammeln wir halt mal: Fehler: Fehlerhafter Argumenttyp:
- lselsetp : Selectionset (Auswahlsatz) erwartet
- fixnump : Integerwert (Ganzzahl) erwartet
- numberp : Zahl (irgendeine Zahl) erwartet
- listp : Liste erwartet
- stringp : String (Zeichenkette) erwartet
- lentityp : Entity (Elementname) erwartet
- file : Filedescriptor (Dateibezeichner) erwartet
Weitere? Grüsse Henning
Danke für deine Mühe Henning, das reicht erstmal Liebe Grüße Kathrin ------------------ "Es liegt in der menschlichen Natur, vernünftig zu denken und unlogisch zu handeln." Anatole France Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|