Difference between revisions of "Template:Context Intro Background"

From Ribbon Commander Documentation
Jump to: navigation, search
 
Line 1: Line 1:
 
In previous examples we worked with the [[Method defaultInstance |default rxCustomUI instance]] of the current session. This is fine for example code, but in real life it is preferable that each add-in/application creates its own context (or virtual add-in) to isolate its UI from other add-ins/applications.
 
In previous examples we worked with the [[Method defaultInstance |default rxCustomUI instance]] of the current session. This is fine for example code, but in real life it is preferable that each add-in/application creates its own context (or virtual add-in) to isolate its UI from other add-ins/applications.
  
The framework currently supports up to 1000 contexts/session so there is enough contexts to go around!
+
The framework currently supports up to 1000 contexts/session so there are enough contexts to go around!
  
 
In VBA you can create [[rxCustomUI]] objects with two types of [[rxDispatchScope | dispatch scopes]] (see [[Method create|rxCustomUI.create]], [[Method make_delegate|make_delegate]]):
 
In VBA you can create [[rxCustomUI]] objects with two types of [[rxDispatchScope | dispatch scopes]] (see [[Method create|rxCustomUI.create]], [[Method make_delegate|make_delegate]]):
 
* Global dispatch. Intended to be used with VBA standard modules. Delegates created by the [[rxCustomUI]] object dispatch to <u>public</u> functions in <u>standard VBA modules</u>. The [[rxCustomUI]] object returned by the static function [[Method defaultInstance | rxCustomUI.defaultInstance]] has [[rxDispatchScope | global dispatch]].
 
* Global dispatch. Intended to be used with VBA standard modules. Delegates created by the [[rxCustomUI]] object dispatch to <u>public</u> functions in <u>standard VBA modules</u>. The [[rxCustomUI]] object returned by the static function [[Method defaultInstance | rxCustomUI.defaultInstance]] has [[rxDispatchScope | global dispatch]].
 
* Local context. Intended to be used with VBA classes. Delegates created by the [[rxCustomUI]] object dispatch to <u>public</u> methods of a user-supplied dispatch object, usually the owning class.
 
* Local context. Intended to be used with VBA classes. Delegates created by the [[rxCustomUI]] object dispatch to <u>public</u> methods of a user-supplied dispatch object, usually the owning class.

Latest revision as of 03:14, 20 March 2013

In previous examples we worked with the default rxCustomUI instance of the current session. This is fine for example code, but in real life it is preferable that each add-in/application creates its own context (or virtual add-in) to isolate its UI from other add-ins/applications.

The framework currently supports up to 1000 contexts/session so there are enough contexts to go around!

In VBA you can create rxCustomUI objects with two types of dispatch scopes (see rxCustomUI.create, make_delegate):

  • Global dispatch. Intended to be used with VBA standard modules. Delegates created by the rxCustomUI object dispatch to public functions in standard VBA modules. The rxCustomUI object returned by the static function rxCustomUI.defaultInstance has global dispatch.
  • Local context. Intended to be used with VBA classes. Delegates created by the rxCustomUI object dispatch to public methods of a user-supplied dispatch object, usually the owning class.