Hi there, not being sure which e-mail list would be appropriate, I send it to those two that may help the most, but setting the reply-to field to "d...@api.openoffice.org" to avoid spamming multiple lists. If this is not appropriate please advise.
Following use-case: * OOo Basic subroutine using the dispatch interface to dispatch an ooRexx macro/script, supplying it arguments (an UNO object to be documented explicitly and for which a writer document will be created which will receive formatted text with underlying links to the OOo UNO documentation), * the bridge to ooRexx (itself written in C++) is realized via Java as a bridge, using the OOo Java based scripting interface for communication; all communication between OOo and ooRexx is carried out via the Java bridge from the perspective of OOo. The problem: * The ooRexx script is invoked, but at the moment where on its side the Java "com.sun.star.comp.helper.Bootstrap.bootstrap()" is executed, in order to get an independent xContext, which then is used to create a "com.sun.star.frame.Desktop" UNO object, which then is used to get the xComponentLoader to use its "loadComponentFromUrl(...)" to load an empty swriter document, then there OOo hangs hard (need a task manager to kill it). * Doing the same with Java (i.e. invoking the very same ooRexx script/macro from a Java OOo app) works! Can someone shed some light on interdependencies between OOo Basic and invoked non-OOo-Basic code via Java that bootstraps independently to OOo in order to get a xContext? TIA, ---rony P.S.: Here's the OOo Basic code-snippet to invoke the ooRexx script via dispatch: ------------------ cut here ----------------- Sub TestDispatchCreateApiInfoWithRexx Dim oDispHelper, oProvider as object Dim macroUrl as string dim args0(0) as new com.sun.star.beans.PropertyValue oProvider=ThisComponent.CurrentController.Frame oDispHelper=createUnoService("com.sun.star.frame.DispatchHelper") macroUrl="vnd.sun.star.script:wu_tools.createApiInfo.rex?language=ooRexx&location=user" args0(0).Name="arg1" args0(0).Value=oDispHelper ' some UNO object/IDL string r=oDispHelper.executeDispatch(oProvider, macroUrl, "", 0, args0()) msgbox r.Result, 0, "result from dispatching createApiInfo.rex" End Sub ------------------ cut here -----------------