Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Funktion exit

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:  Funktion exit (394 mal gelesen)
Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 24. Jul. 2006 10:25    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,

ich habe ein Problem mit der Funktion exit. Dabei hängt sich AutoCAD 2005 kompett auf und ich muss es mit Hilfe des Task-Managers abbrechen.

Dazu folgender Ablauf:
- ich habe einen eigenen Befehl, der zunächst ein Dilaogfenster anzeigt
- der Benutzer macht darin bestimmte Eingaben
- im Befehl werden diese geprüft und möglicherweise festgestellt, dass die letze Eingabe nicht erlaubt ist
- bei einer nicht erlaubten Eingabe wird die Funktion exit aufgerufen (das Dialogfenster wird zu dem Zeitpunkt immer noch angezeigt), um den Befehl zu beenden
- dabei hängt sich AutoCAD 2005 so auf, dass ich es mit dem Task-Manager beenden muss

Der oben genannte Ablauf hat schon funktioniert, aber ich kann keine genaueren Angaben machen, seit wann der Fehler auftritt. Zu dem gewünschten Abbruch kommt es im Arbeitsablauf ganz selten.

Warum führt die Verwendung der Funktion exit zu dem Aufhängen von AutoCAD 2005 während ein Dialogfenster angezeigt wird?
Gibt es eine Alternative zur Funktion exit (quit ist keine, da bereits von mir getestet) um einen Befehl zu beenden?

Danke im Voraus und viele Grüße
Bernd

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: 24. Jul. 2006 12: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 Nur für Bernd10 10 Unities + Antwort hilfreich

Hallo Bernd,
ich glaube, Du kannst die Funktion nicht zur Laufzeit eines Dialogfensters aufrufen. Kannst Du Deiner Prüffunktion nicht sagen, wenn fehlerhafte Eingabe, dann (done_dialog), und erst wenn das Dialogfenster geschlossen ist, die exit Funktion aufrufen??

Ich selber gestalte meine Prüfungen so, daß eine alert-Meldung für den Benutzer erscheint, z.B. "Die eingegebene Höhe muß größer Null sein" und die edit_box mit der fehlerhaften Eingabe wird dann über (mode_tile "edit" 2) auf Vorgabe eingestellt. Dann weiß der Benutzer genau, wo der fehlerhafte Wert ist.

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

Jörn

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 24. Jul. 2006 14:18    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 Joern,

Zitat:
Original erstellt von joern bosse:
ich glaube, Du kannst die Funktion nicht zur Laufzeit eines Dialogfensters aufrufen.


Ich hatte auch so was in Erinnerung, dass die Funktion exit zur Laufzeit eines Dialogfensters zu Problemen führt. Das Seltsame dabei ist aber, dass es aber bereits funktioniert hat. Keine meiner Änderungen seither kann ich in Verbindung mit der Funktion exit bringen.

Zitat:
Original erstellt von joern bosse:

Kannst Du Deiner Prüffunktion nicht sagen, wenn fehlerhafte Eingabe, dann (done_dialog), und erst wenn das Dialogfenster geschlossen ist, die exit Funktion aufrufen??


Ich habe sehr viele verschachtelte Funktionen und die Kontrolle erfolgt in einer sehr "tiefen" Ebene. Gibt es eine Funktion, mit der ich feststellen kann, ob ein Dialogfenster geöffnet ist?

Zitat:
Original erstellt von joern bosse:

Ich selber gestalte meine Prüfungen so, daß eine alert-Meldung für den Benutzer erscheint, z.B. "Die eingegebene Höhe muß größer Null sein" und die edit_box mit der fehlerhaften Eingabe wird dann über (mode_tile "edit" 2) auf Vorgabe eingestellt. Dann weiß der Benutzer genau, wo der fehlerhafte Wert ist.


Die Funktion alert nutze ich bereits, aber laut meien Vorgaben soll danach ein Abbruch erfolgen. Wie oben bereits erwähnt, habe ich auch hier das Problem von sehr viele verschachtelte Funktionen und die Kontrolle erfolgt in einer sehr "tiefen" Ebene. Zur Not könnte ich mit globalen Variablen arbeiten, was ich aber möglichst vermeiden will.

Gibt es noch andere Möglichkeiten?

Danke und Gruß
Bernd

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 24. Jul. 2006 15:18    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 Joern,

Zitat:
Original erstellt von joern bosse:
Hallo Bernd,
ich glaube, Du kannst die Funktion nicht zur Laufzeit eines Dialogfensters aufrufen. Kannst Du Deiner Prüffunktion nicht sagen, wenn fehlerhafte Eingabe, dann (done_dialog), und erst wenn das Dialogfenster geschlossen ist, die exit Funktion aufrufen??

ich habe mein Problem mit Deiner Hilfe so gelöst:
(if (= (getvar "cmdactive") 8)
  (done_dialog 0) ; Dialogfenster abbrechen
  (exit) ; else
) ; if

Ich schließe das Dialogfenster mit done_dialog falls eines geöffnet ist, ansonsten wird wie bisher der Befehl mit der Funktion exit abgebrochen.

Danke für Deine Hinweise und viele Grüße
Bernd

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