| | | 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
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben: Nur für Bernd10
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
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben:
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 >>)
|