Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Problem mit Fehlerroutine (2015)

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Problem mit Fehlerroutine (2015) (1052 mal gelesen)
tappenbeck
Mitglied
Vermessungsingenieur


Sehen Sie sich das Profil von tappenbeck an!   Senden Sie eine Private Message an tappenbeck  Schreiben Sie einen Gästebucheintrag für tappenbeck

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 28. Mrz. 2017 08:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin !

ich habe ein Problem mit der Fehlerroutine in Autocad 2015. Wenn ich nach dem ersten Punkt ESC betätige wird zwar die Fehlerfunktion aufgerufen - bekomme aber folgende Fehlermeldung:

Zitat:
"INTERNAL error in FAIL\nmessage lost, reset to top"

Kann mir einer weiterhelfen? Vermutlich hängt das mit diese Änderungen in der Fehlerroutine zusammen.

Gruß Jan

Hier mein Code

Code:

;; Drehen des Modellbereiches im Papierbereich
;; Jan Tappenbeck, Ebl
;;
;; Historie
;;

(defun c:EBL_MSRot
   (/       set_mspace
    restore_space     set_ucs
    restore_ucs       *EBL_MSRot_Space*
    *EBL_MSRot_UCS*
    )

  (defun set_mspace (/)
    (command "_.MSPACE")
    (setq *EBL_MSRot_Space* T)
    )

  (defun restore_space (/)
    (if *EBL_MSRot_Space*
      (progn
(command "_.MSPACE")
(setq *EBL_MSRot_Space* nil)
) ;end-progn
      ) ;endif
    )

  (defun set_ucs (/)
    (command "_.UCS" "_W")
    (setq *EBL_MSRot_UCS* T)
    )

  (defun restore_ucs (/)
    (if *EBL_MSRot_UCS*
      (progn
(command "_.UCS" "_P")
(setq *EBL_MSRot_UCS* nil)
) ;end-progn
      ) ;endif
    )


  ;;Zwischensichern der Systemvariablen
  (modes
    '("CMDECHO"
      "OSMODE"
      "DIMZIN"
      )
    )

  (SETVAR "CMDECHO" 0)
  ;;Bildschirmausgabe
  ;;Setzen eines Zurück-Punktes
  (COMMAND "_.UNDO" "_Begin")

  ;;ggf. setzen erforderlicher Systemvariablen
  (SETVAR "OSMODE" 0)
  (SETVAR "DIMZIN" 3)
  ;;Objektfang

  (SETQ
    ;;Sichern der "aktuellen" Fehlerroutine
    old_err
    *error*
    ;;Setzen der internen Fehlerroutine
    *error*
    EBL_MSRot_err
    )
  (*push-error-using-command*)

  (if (= (getvar "tilemode") 1)
    (alert
      "Diese Funktion kann nur im Layoutbereich angewandt werden!"
      )
    (progn

      (set_mspace)
      (set_ucs)

      (if (setq PA (getpoint "\n1. Punkt der Grundlinie (links): "))
(progn

  (if (setq
PE (getpoint PA "\n2. Punkt der Grundlinie (rechts): ")
)
    (progn

     ) ;end-progn
    (princ
      "\nbenutzerdefinierter Abbruch, da kein 2. Punkt gewählt"
      )
    ) ;endif - PE

  ) ;end-progn
(princ
  "\nbenutzerdefinierter Abbruch, da kein 1. Punkt gewählt"
  )
) ;endif - PA

      ) ;end-progn
    ) ;endif

  ;;setzen der "alten" Fehlerroutine
  (SETQ *error* old_err)
  (*pop-error-mode*)
  ;;  (restore_space)
  ;;  (restore_ucs)
  ;;setzen eines Zurück-Punktes
  (COMMAND "_.UNDO" "_End")
  ;;Zurücksetzen der Systemvariablen
  (moder)
  ;;bereinigen der Befehlszeile
  (PRINC)
  ;; hier endet die Funktion
  )
;;end-defun

;;interne Fehlerroutine - u.a. für das Zurücksetzen der Systemvariablen

(DEFUN EBL_MSRot_err (s)
  ;;Ausgabe der Fehlermeldung
  (IF (/= s "Funktion abgebrochen")
    (PRINC (STRCAT "\nFehler: " s))
    )
  ;;setzen der "alten" Fehlerroutine
  (SETQ *error* old_err)
  (restore_space)
  (restore_ucs)
  ;; (if (>= (atoi (substr (getvar "ACADVER") 1 2)) 20.)

  ;;    (progn ; AB AutoCAD 2015
  ;;setzen eines Zurück-Punktes

  ;;    (COMMAND-S "_.UNDO" "_End")
  ;;Zurücksetzen der Funktion

  ;;    (COMMAND-S "_u")

  ;;    ) ;end-progn

  ;;  (progn ;VOR AutoCAD 2015
  ;;setzen eines Zurück-Punktes
  (COMMAND "_.UNDO" "_End")
  ;;Zurücksetzen der Funktion
  (COMMAND "_u")

  ;;    ) ;end-progn

  ;;  ) ;endif-ACADVER
  ;;Zurücksetzen der Systemvariablen
  (moder)
  ;;bereinigen der Befehlszeilen
  (PRINC)
  )


;;Unterprogramme für die Systemvariablen-Sicherung
(DEFUN modes (a)
  ;;Speichern
  (SETQ mlst '())
  (REPEAT (LENGTH a)
    (SETQ mlst (APPEND mlst (LIST (LIST (CAR a) (GETVAR (CAR a))))))
    (SETQ a (CDR a))
    )
  )

(DEFUN moder ()
  ;;Zurückspeichern
  (REPEAT (LENGTH mlst)
    (SETVAR (CAAR mlst) (CADAR mlst))
    (SETQ mlst (CDR mlst))
    )
  )

;|«Visual LISP© Format Options»
(72 2 40 1 nil "end of " 60 9 0 0 0 T T nil T)
;*** KEINEN Text unterhalb des Kommentars hinzufügen! ***|;


------------------
jan :-)

[Diese Nachricht wurde von tappenbeck am 28. Mrz. 2017 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 28. Mrz. 2017 10:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tappenbeck 10 Unities + Antwort hilfreich

Hallo Jan,
Command-S?

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Liniensignaturen Youtube

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tappenbeck
Mitglied
Vermessungsingenieur


Sehen Sie sich das Profil von tappenbeck an!   Senden Sie eine Private Message an tappenbeck  Schreiben Sie einen Gästebucheintrag für tappenbeck

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 28. Mrz. 2017 10:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Jörn,

habe gerade gesehen, dass ich in dem Beispielcode etwas viel auskommentiert habe.

Aber auch wenn ich

Code:
(DEFUN EBL_MSRot_err (s)
  ;;Ausgabe der Fehlermeldung
  (IF (/= s "Funktion abgebrochen")
    (PRINC (STRCAT "\nFehler: " s))
    )
  ;;setzen der "alten" Fehlerroutine
  (SETQ *error* old_err)
  (restore_space)
  (restore_ucs)
      (COMMAND-S "_.UNDO" "_End")
      (COMMAND-S "_u")
  ;;Zurücksetzen der Systemvariablen
  (moder)
  ;;bereinigen der Befehlszeilen
  (PRINC)
  )

verwende, dann bekomme ich die Meldung

Zitat:
Aufrufen von (command) aus *Fehler* nicht möglich, ohne vorheriges Aufrufen von (*push-error-using-command*).
Konvertieren von (command)-Aufrufen in (command-s) wird empfohlen.

Habe nun aber noch etwas umgestellt und dann hat es funktioniert.

Die Meldung bleibt bleibt aber !!!

Gruß Jan

------------------
jan :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADwiesel
Moderator
CAD4FM UG




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 28. Mrz. 2017 12:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tappenbeck 10 Unities + Antwort hilfreich

wenn die Funktionen nicht lokal definiert werden würde das in dem Fall schonmal helfen

------------------
Gruß
CADwiesel
Besucht uns im CHAT

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

neurosis
Mitglied
dipl.ing.


Sehen Sie sich das Profil von neurosis an!   Senden Sie eine Private Message an neurosis  Schreiben Sie einen Gästebucheintrag für neurosis

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 28. Mrz. 2017 17:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tappenbeck 10 Unities + Antwort hilfreich

du hast noch command-aufrufe durch
(restore_space)
(restore_ucs)
in der error-routine

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tappenbeck
Mitglied
Vermessungsingenieur


Sehen Sie sich das Profil von tappenbeck an!   Senden Sie eine Private Message an tappenbeck  Schreiben Sie einen Gästebucheintrag für tappenbeck

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 29. Mrz. 2017 06:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin !

alles erledigt inzwischen - danke nochmal.

Gruß Jan

------------------
jan :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz