Hi Juergen/Ariel,

> well the constructor methods can't be used in Basic today. But we have 
> it on our todo list for the future.

I submitted an issue for this a while ago, but am too lazy to look it up
right now :)

> createInstanceWithArgumentsAndContext is the way you have to go to 
> instantiate such a service in Basic.

Not really.

The fact that XInitialization::initialize is used when invoking a
new-style service constructor is, speaking strictly, an implementation
detail.

The fact that *most* (not all!) dedicated implementation factories also
use XInitialization::initialize when they're requested to create an
implementation with arguments, is *also* an implementation detail.

That is, the flow is as follows:
When you do a createInstanceWithArguments[AndContext] at a service
factory, this global service factory will look up a dedicated factory
for the given service name (by finding an implementation name for this
service name, and then the respective dedicated factory). The creation
request, together with the arguments, is passed to this dedicated
factory, then.

The default implementation of such dedicated factories, which is used in
nearly all implementations, will create an instance without arguments,
and pass the creation arguments to XInitialization::initialize, then.

However, as said, that's a detail you should not rely on. We definitely
had (I am not sure if this still holds) factory implementations in the
configuration manager which did *not* use XInitialization, and there
might be others as well.


So, the bottom line is: createInstanceWithArguments[AndContext] *might*
work, but if it doesn't (or stops working the next version), don't complain.


Which brings me to: Ariel, what do you mean with "initialize fails"? How
does this manifest? It might mean the package manager dialog
implementation changed, and is not using XInitialization anymore. As
said above, that's legitimate, in that "constructor == XInitialization"
is an implementation detail, anyway. However, this would leave us with
the sad conclusion that there is *no* reliable and
implementation-independent way to use new-style service constructors in
Basic.

Ciao
Frank


-- 
- Frank Schönheit, Software Engineer         [EMAIL PROTECTED] -
- Sun Microsystems                      http://www.sun.com/staroffice -
- OpenOffice.org Base                       http://dba.openoffice.org -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to