Marten,
just writing one reply, hopefully answering your comments etc. of your
previous mails.
To give a brief overview:
-1- CoreReflection: Gives access to the methods etc. of the passed type
name, respectively methods etc. of the exact type of the passed object.
Methods, attributes etc. can be "called" directly. The CoreReflection is
only available for Binary UNO, e.g. there is no such service for pure
Java-UNO.
-2- Introspection: Gives access to all methods and interfaces of the
passed object as an integrated entity. The Introspection relies on the
CoreReflection and on the object to implement the XTypeProvider interface.
-3- Invocation: A service for dynamically invoking a method of a
particular object. This service was designed for scripting languages
connection to UNO. It also takes care of needed type conversions etc.
The Invocation relies on the Introspection.
-4- TypeDescriptionProvider / TypeDescriptionManager: Services providing
access to type descriptions. The TypeDescriptionManager just delegates
requests to the registered providers. The returned type descriptions are
different of what the CoreReflection provides and are for informational
purposes only. E.g. the remote bridges use these type descriptions.
-5- XTypeProvider: An to be implemented interface providing all
interfaces of an object, the Introspection and OOo BASIC rely on objects
to implement this interface.
-6- XServiceInfo: An interface providing the implementation name and the
supported services of an object. This was/is needed for objects not
implemented using the new multiple inheritance stuff.
If you only need the descriptions, -4- is probably the easiest way. If
you dynamically want to invoke methods etc., then -3- makes sense.
Singletons, as the TypeDescriptionManager, can either be retrieved via
the "createInstance" method of the ServiceManager (which returns the
same object all the same, in case it is a singleton), or via the
ComponentContext and the "getValueByName" method. The name of the
TypeDescriptionManager is
"/singletons/com.sun.star.reflection.theTypeDescriptionManager"
If you stumbling over problems when accessing the particular types via
one of the above services / interfaces, I suggest to try out what you
want to achieve first in OOo BASIC, and to switch later to COM. Only to
ensure that there is no bug / incompatibility in the OLE bridge.
Hope that helps
Kay
Marten Feldtmann wrote:
Here's is a summary of my VA Smalltalk wrapper using OLE/COM:
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]