Xojo Conferences
MBSOct2019CologneDE

How to determine if RB has called a custom constructor? (Real Studio Plugins Mailinglist archive)

Back to the thread list
Previous thread: REALbasic font handling - System to Vista font and such
Next thread: statically linking dll


macosx and unix paths   -   GOLD
  How to determine if RB has called a custom constructor?   -   Alfred Van Hoek

How to determine if RB has called a custom constructor?
Date: 08.04.06 02:46 (Fri, 7 Apr 2006 21:46:01 -0400)
From: Alfred Van Hoek
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>