Andrea wrote: > Hi, > > I am still trying to automatically find out argument names within a calc > addin. > I want to take them from the IDL description. > > I need an instance of > > XIdlReflection > > which is created via > > Reference< XInterface > xInterface = serviceManager->createInstance( > OUString::createFromAscii( > "com.sun.star.reflection.CoreReflection" )); > > Now, where do I get the serviceManager? > > Since I want to query my own methods, is there an easier way? > My class implements some interfaces, one of which describes the functions I > want to export to OOCalc. > How do I get a XIdlClass for that interface? > > Cheers > > Andrea
Done: in component_getFactory() I save the IDLClass Reference< XInterface > xInterface = xMgr->createInstance(OUString::createFromAscii( "com.sun.star.reflection.CoreReflection" )); Reference< XIdlReflection > rIDLReflection(xInterface, UNO_QUERY); ourIDLClass = rIDLReflection->forName(OUString::createFromAscii("org.asi.XMaths")); then OUString getDisplayArgumentName( const OUString& aProgrammaticName, ::sal_Int32 nArgument ) throw (RuntimeException) { Reference< XIdlMethod > aMethod = ourIDLClass->getMethod(aProgrammaticName); Sequence< ParamInfo > params = aMethod->getParameterInfos(); return params[nArgument].aName; } It looks such an obvious thing to do, I wonder why OOCalc does not do it by itself (with the possibility to overwrite the argument name). Andrea --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]