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>

Reply via email to