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 -----------------




Reply via email to