Hallo, OPLisp,
Dein Beispiel mit der Objektwahl funktioniert gut in nicht-modalen Dialogen, andockbaren Dialogen und Paletten. In modalen Dialogen kann ich dringend empfehlen, die Event-Funktion zunächst zu verlassen. Ein Beispiel hierfür findest Du hier: http://www.opendcl.com/forum/index.php?topic=1080.0 (http://www.opendcl.com/forum/index.php?topic=1080.0)
Wie Du selbst festgestellt hast, stehen auch die Änderungen einiger Steuerelemente solange zur verfügung, bis das Projekt entladen wird. Änderst Du also den CheckBox-Status, geht das, weil eben diese Einstellung gespeichert wird. Das gilt aber eben beispielsweise nicht für Inhalte von Baumstrukturen, Grids und ListViews sowie die aktuelle Auswahl der Listenfelder, Grids und Baumstrukturen.
QuoteOder ob nur eine sichtbare Form gesteuert werden sollte.
Bei modalen Dialogen würde ich dem demnach ausnahmslos zustimmen.
Bei nicht-modalen und andockbaren Dialogen und Paletten ist das ein wenig anders. Hier kannst Du für den Zeitraum einer Punktwahl einfach die Hide-Methode anwenden: Der Dialog ist dann einfach zwischenzeitlich nicht sichtbar, aber dennoch aktiv und Du kannst ohne weiteres Änderungen auch im Dialog vornehmen und bei Bedarf diesen wieder einblenden.
(dcl_project_unload) dient in erster Linie der Bereinigung nicht mehr benötigter Projekte, gerade auch in der Phase der Entwicklung, um nicht jedes Mal AutoCAD neuzustarten, nur um das Verhalten VOR dem Laden des Projekts zu prüfen. Außerdem könnte es Fälle geben, bei denen verschiedene Versionen eines Projekts in unterschiedlichen Ordnern existieren. Dann kann ein Entladen sinnvoll sein. Hat man ein Projekt entladen und will wieder einen Dialog dieses Projekts anzeigen, muss zunächst das Projekt wieder geladen werden. Bei größeren Projektdateien mit vielen Dialogen oder großen Bildern/Icons kann der Ladevorgang schon ein wenig dauern, weswegen ein ständiges Laden/Entladen die Anwendung nicht gerade performant erscheinen lässt. Deshalb lassen die meisten das Projekt geladen und entladen es nicht mehr. Und das ist wohl der Grund, weshalb du so wenig darüber gefunden hast. :)
VG, Fred