|  |  | 
|  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | 
|  |  | 
|  | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung 
 | 
| Autor | Thema:  Gelöschte Handent macht Probleme (889 /  mal gelesen) | 
 | Big Sven Mitglied
 Techn. Angestellter
 
   
 
      Beiträge: 133Registriert: 14.09.2005
 |    erstellt am: 06. Apr. 2017 11:51  <-- editieren / zitieren -->    Unities abgeben:            
  Hallo Forum! Hab nach langer Pause mal wieder ein Problem: Ich such über (setq a (handent "0815")) einen Block. Alles läuft prima, nur wenn der Block gelöscht wird, dann bekomme ich nicht mehr ein Nil zurück wie früher, sondern das Programm bricht ab (ungültiger Objektname). Kann das mit Lisp aber nicht abfangen! Ich hoffe Ihr versteht mein Problem und könnt mir helfen!?! Vielen Dank!Grüße Sven
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | cadffm Moderator
 良い精神
 
         
 
  
 
      Beiträge: 22689Registriert: 03.06.2002
 Alles |    erstellt am: 06. Apr. 2017 12:08  <-- editieren / zitieren -->    Unities abgeben:           Nur für Big Sven   
  Der gepostete Code liefert dir doch keinen Abrruch zurück, , sondern ein ENAME? Der Abbruch wird bei der Weiterverarbeitung geschehen die uns nicht bekannt ist. Das war schon immer so und ist nicht neu. (entdel (handent "271")) liefert doch sicher keinen Abbruch sondern zaubert das Objekt zurück, richtig? nil kommt nur zurück wenn das Handle unbekannt ist,ein gelöschtes Entity ist aber noch bekannt.
 Erzähle also mal etwas mehr (und genauer) und korrigiere meine Aussagen, wenn nötig.    ------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Big Sven Mitglied
 Techn. Angestellter
 
   
 
      Beiträge: 133Registriert: 14.09.2005
 |    erstellt am: 06. Apr. 2017 13:21  <-- editieren / zitieren -->    Unities abgeben:            
  Hallo cadffm, Du hast natürlich Recht! Nil kommt nur zurück, wenn es unbekannt ist, ansonsten bekomme ich schon etwas zurück. Nur war mir das bisher nicht aufgefallen oder sagen wir mal so, ich bin mir nicht sicher, ob es nicht beim gelöschten Objekt Nil zurück gibt.Wie kann ich denn jetzt feststellen, ob es sich um ein gelöschtes Objekt handelt?
 Grüße Sven Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | cadffm Moderator
 良い精神
 
         
 
  
 
      Beiträge: 22689Registriert: 03.06.2002
 Alles |    erstellt am: 06. Apr. 2017 13:23  <-- editieren / zitieren -->    Unities abgeben:           Nur für Big Sven   
  Wenn es um AutoLisp geht, dann würde man bei ENTGET ein NIL erhalten (entget (handent h)) -> nil Nachtrag zur Vervollständigung des Threads:
 Auch würde sich von dem ENAME her kein VLA-Objekt ermitteln lassen:
 (vlax-ename->vla-object (handent h))
 Wenn man ein VLA-Object hat und testen möchte, dann gibt es eine extra-Funktion dafür:
 (vlax-erased-p obj)
 ------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Big Sven Mitglied
 Techn. Angestellter
 
   
 
      Beiträge: 133Registriert: 14.09.2005
 |    erstellt am: 06. Apr. 2017 15:51  <-- editieren / zitieren -->    Unities abgeben:            
  Hallo cadffm, vielen Dank für Deine Hilfe!Leider bin ich nicht so firm mit VLA-Objekten, aber ich habe jetzt eine weitere Überprüfung eingebaut, ob das Objekt bereits wieder gelöscht wurde!
 Komisch ist nur, dass das seit 10 Jahren niemanden aufgefallen ist!
 Grüße Sven  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | cadffm Moderator
 良い精神
 
         
 
  
 
      Beiträge: 22689Registriert: 03.06.2002
 Alles |    erstellt am: 06. Apr. 2017 16:48  <-- editieren / zitieren -->    Unities abgeben:           Nur für Big Sven   
  Jedem der in Lisp programmiert "sollte" das bekannt sein. Es ist genau so in der Hilfe dokumentiert, also auch gewollt. So funktioniert dann auch der Hoppla-Befehl. Also "aufgefallen" ist das vielen. Aber man vergisst auch mal   Der Programmierer hat es in der Hand.Sobald zwischen Objektdaten spichern (Handle, Ename, Entityliste) und der Weiterverarbeitung die Möglichkeit besteht dass es dieses Objekt "nicht mehr gibt", muß eine Überprüfung stattfinden.
 ------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                       
 | joern bosse Ehrenmitglied
 Dipl.-Ing. Vermessung und AutoLISPler
 
      
 
      Beiträge: 1781Registriert: 11.10.2004
 Window 11ACAD 2021
 CIVIL 2021
 BricsCAD ab V14
 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz   2.80 GHz
 32.0GB RAM
 NVIDIA GeForce MX450<P>
 |    erstellt am: 07. Apr. 2017 08:01  <-- editieren / zitieren -->    Unities abgeben:           Nur für Big Sven   |