GetDesignMode, SetDesignMode
GetDesignMode
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | ein COM-Objekt oder der COM-Manager |
Stack(Out) | Top | 0 oder 1 |
SetDesignMode
SetNetronicDesignMode
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | ein COM-Objekt oder der COM-Manager |
Top-1 | 0 oder 1 | |
Stack(Out) | Top | - |
ClassiX® verhält sich gegenüber COM-Objekten (insbesondere Controls) entweder als Entwicklungs-(Design-)oder als Laufzeit-(Runtime-)Umgebung. Bei herkömmlicher Verwendung von Komponenten entspricht dies zum einem dem Entwickeln in einer Entwicklungsumgebung wie z.B. Microsoft Visual C++ und der späteren Ausführung der damit gebildeten *.exe auf jedem beliebigen System.
Aus Sicht der Komponente ist diese Unterscheidung vor allem aus lizenzrechtlichen Aspekten von Bedeutung: So bedarf es einer besonderen (höherwertigen und teureren) Lizenzierung, um eine Applikation zu erstellen, die diese verwendet. Die Verwendung der Komponente mit der fertig erstellten Applikation hingegen benötigt entweder gar keine oder eine geringere Lizenz.
Da ClassiX® durch seine Architektur generell sowohl Entwicklungswerkzeug, als auch Laufzeitumgebung ist, muss, um der Lizenzierung eines Controls Rechnung zu tragen, diese für verschiedene Verwendungen künstlich umgeschaltet werden.
Hierzu dienen diese Funktionen.
Werden sie am COM-Manager (GetManager(COM)
) ausgeführt, so gilt der gewählte (bzw. erfragte) Modus für alle zukünftigen Aufrufe von CreateControl. Ausgeführt an einem Control-Widget wird der Zustand dieses Widgets erfragt bzw. geändert.
Werden mehrere Controls parallel betrieben kann sich also ein Teil im Design-, der Rest im Runtime-Modus befinden. Die globale Einstellung im COM-Manager ermöglicht es auch Controls zu genügen, die bereits zur Erstellzeit (Aufruf von CreateControl) im Design-Modus sein müssen, um korrekt ansprechbar zu sein.