Author Topic: Arbeiten durch Dialogfeld abbrechen  (Read 2405 times)

CADwiesel

  • Member
  • *
  • Posts: 47
  • Entwickler
    • Autolispprogramme f
Arbeiten durch Dialogfeld abbrechen
« on: July 27, 2016, 05:50:26 AM »
In einer Schleife werden aus Zeichnungen Blockvorschaubilder erstellt. Das Ganze passiert während eine Palette geöffnet ist. Wenn diese Unterfunktion startet, soll gleich ein neuer Dialog mit einem Fortschrittsbalken angezeigt werden.
Durch einen Abbruchbutton in diesem Dialog würde ich gerne die weitere Ausführung der Funktion abbrechen wollen.
Jetzt habe ich einen modalen und einen nicht modalen Dialog ausprobiert. Aber ich schaffe es nicht die Ausführung der Funktion zu unterbrechen.
der nicht modale Dialog wird zwar angezeigt, es ist aber nicht möglich dem eine Aktion bei dem Klick auf den Button abzuringen, weil er wohl nie den Focus erhält.
der modale Dialog wartet natürlich bei der Initialisierung darauf das irgendwas mit ihm passiert und so lange wird nicht weiter gemacht.

muss ich eine Palette nehmen?
wie gehts?
« Last Edit: July 27, 2016, 06:13:06 AM by CADwiesel »
Gruss,
CADwiesel
Besucht uns im CHAT

Fred Tomke

  • OpenDCL Technician
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2062
  • [ Mr. Bad Guy ]
    • Kommunale Entwicklungsplanung auf digitaler Basis - digital landscape and urban design
Re: Arbeiten durch Dialogfeld abbrechen
« Reply #1 on: August 15, 2016, 10:33:27 PM »
Hi, jaaaaa - das geht nicht.
Warum? Ganz einfach - one after the other: Lisp läuft in einem roten Faden ab.
Was Du willst, ist in einem separaten Thread Einfluss auf den Hauptthread zu nehmen.
Der Tastendruck und die damit verbundene Ausführung der Ereignisfunktion reichen da bereits.
In C# mache ich das mit dem BackgroundWorker.

Denn während AutoCAD Deine Lisp abarbeitet, hat AutoCAD zu tun und mag keine "äußeren Einflussnahmen". Ich kenne das Problem und habe schon einige Kopfstände damit verbracht.

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

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