The control defines a custom constructor as registered in the
REALmethodDefinition. Because it has no arguments RB will call this
constructor at runtime if an instance was created at design-time
(IDE). However, it is also possible (don't ask me how) to not create
the control at design-time, by simply defining:
myControl = new PluginControl
myControl.EmbedWithin self
in the windows open event.
In this scenario, the user of the plugin, not RB, is calling the
custom constructor, and while this all works fine in RB2006, it does
not in RB5.5.5. In 5.5.5, we don't want to let RB call the code in
the custom constructor. We can do this with a flag, but we need a
mechanism to discriminate whether or not RB will be calling the
constructor (meaning, we need to determine at runtime if the user had
dropped an instance on the window in design-time, the IDE). Of course
we can document it, and let the user decide to set this flag, but it
is very well possible that this will be overlooked. So we need a kind
of mind-reader.
The plugin allows:
1) RB to fully determine creation and embedding
2) The user to fully determine creation and embedding
3) A mix of the above --RB does the creation, the user does the
embedding
In RB5.5.5 (1) is not allowed, (2) is fully supported, and (3) is
partially supported by restricting RB to actually do the proper
creation.
Alfred
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>