Can't reenter LISP

Started by OPLisp, September 20, 2013, 05:50:46 AM

Previous topic - Next topic

OPLisp

Hallo zusammen,


untenstehende Lisp routine prg führt zur Fehlermeldung:  Can't reenter LISP.
Das Programm ist verkürzt wieder gegeben. Tatsächlich erfolgt das Laden der OPENDCL Umgebung
nur, wenn diese noch nicht geladen war.
Der Fehler wird aber damit ausgelöst, daß der Ladevorgang und der Einfüge Befehl sich in einer Lisp routine befinden.
Ich verwende AutoCAD 2013. Den Fehler habe ich erst ab OpenDCL.Runtime.7.0.0.12 festgestellt.
In früheren Versionen war er nicht vorhanden.
Umgehen kann man den Fehler nur, wenn man den Ladevorgang (z.B. in acaddoc.lsp) und den Einfüge Befehl trennt.



(defun c:prg ()

(command "_OPENDCL")
; ..
; ..
(setq einpkt (getpoint "\nInsertion point: "))   
(command "_INSERT" "Block" einpkt "" "" "")
)


Command: PRG
OpenDCL Laufzeitumgebung [7.0.0.14] wurde geladen
Insertion point:
Can't reenter LISP.
Invalid point.
Insertion point: nil

OPLisp

Hallo nochmal!

Der Fehler wird durch folgende Kombination ausgelöst. Insert spielt keine Rolle.

(defun c:prg ()

  (command "_OPENDCL")
; ..
; ..
  (setq einpkt (getpoint "\nInsertion point: "))
)

Grüße

Peter2

Ich vermute, da ist vielleicht irgendeine Funktion doppelt definiert. Einerseits haben die beiden Zeilen mit OpenDCL nichts zu tun (ausser dem Laden), und ich habe den Code bei mir (Win 7 64 / 2011) problemlos ausgeführt.

Vorschlag:
a) Nimm einmal (command "_opendcl") aus dem Code und schaue was passiert.
b) Benenne das Programm um in "c:hallo". "prg" könnte schon belegt sein.
c) Stelle sicher, das kein anderes Programm offen ist (Wird prg von einem anderen Lisp gestartet? Hängt irgendetwas aus der Startgruppe?)
Peter
ODCL 8.1.... German, AutoCAD 2017 - 2018, Win 7 x64, Win 10

Fred Tomke

Hi, die letzte Version, die ich genutzt habe ich Version 7.0.0.9, was durch meine Zuarbeiten für einen früheren Arbeitgeber begründet ist.
Das könnte ich morgen abend testen, jetzt habe ich grad kein AutoCAD hier.

VG, Fred
Fred Tomke
Dipl.-Ing. (FH) Landespflege

[ landscaper - landscape developer - digital landscape and urban design]

OPLisp

Hallo Peter2

b) und c) kann ich ausschliessen.
Bei a) ist zu sagen, dass der Fehler nur eintritt wenn OpenDCL wirklich
geladen wird. Also, beim zweiten Aufruf prg ist alles in Ordnung.
Vielleicht laedst du OpenDCL schon vorher irgendwo zentral.


Hallo Fred

der Fehler war  in der Version 7.0.0.7 noch nicht vorhanden.

Danke fuer Eure Mitarbeit!