I forget to mention OfficeDocument is no third party
wrapper:

package com.sun.star.comp.beans;

public class OfficeDocument extends Wrapper
        implements 
                com.sun.star.frame.XModel,
                com.sun.star.util.XModifiable,
                com.sun.star.frame.XStorable,
                com.sun.star.view.XPrintable

--- Kent Gibson <[EMAIL PROTECTED]> wrote:

> hi-ya Stephan,
> 
> this is more curious.
> 
> So I use a XDispatchHelper as per your example and
> ok
> it still does not work. Ok no change, and I get an
> result: 
> 
> DispatchResultEvent result = ( DispatchResultEvent )
> xDH.executeDispatch( xDP, ".uno:PrinterSetup", "",
> 0,
> LoadArgs );
> Any theResult = ( Any ) result.Result;
> Type type = theResult.getType();
> short theState = result.State;
> 
> The theState is 0, which I am pretty sure is no
> success. The type is void.
> 
> But then I go and use this same code to regression
> test printing (.uno:PrintDefault) and this code
> hangs.
> Other than hanging the behaviour is slightly
> different, instead of a window popping up and
> ticking
> down the pages, a progress bar appears at the bottom
> where the status bar belongs and then it just hangs
> as
> soon as the progress reaches 100%. It hangs my
> application so I kill it and then out pops out my
> print job.
> 
> hmm.
> 
> any ideas?
> 
> thanks
> 
> --- Stephan Wunderlich <[EMAIL PROTECTED]>
> wrote:
> 
> > Hi Kent,
> > 
> > > Here is the java code I use:
> > > 
> > > OfficeDocument document =
> > > this.connection.getDocumentN();
> > > XController controller =
> > > document.getCurrentController();
> > > 
> > > XFrame frame = controller.getFrame();
> > > 
> > > XDispatchProvider xDispProvider = (
> > XDispatchProvider
> > > ) UnoRuntime.queryInterface(
> > > XDispatchProvider.class,controller );
> > > XURLTransformer xParser = (
> > > com.sun.star.util.XURLTransformer )
> > > UnoRuntime.queryInterface( 
> XURLTransformer.class,
> > 
> > >
> >
>
this.connection.getServiceFactoryN().createInstance(URL_TRANSFORMER
> > > ) );
> > > URL[] aParseURL = new URL[1];
> > > aParseURL[ 0 ] = new URL();
> > > 
> > > aParseURL[ 0 ].Complete = toDispatch;
> > > xParser.parseStrict( aParseURL );
> > > URL aURL = aParseURL[ 0 ];
> > > XDispatch xDispatcher =
> > xDispProvider.queryDispatch(
> > > aURL, "", 0 ); //$NON-NLS-1$
> > > // dispatch
> > > if ( xDispatcher != null )
> > > {
> > >   xDispatcher.dispatch( aURL, new
> PropertyValue[]
> > { }
> > > );
> > > }
> > > 
> > > also no visible effect.
> > 
> > do you use an additional Wrapper ? ... Can't
> recall
> > to have heard of a 
> > class named OfficeDocument that comes with the
> > office ... maybe I just 
> > overread something :-)
> > 
> > Anyway ... the following java-code works like a
> > charm for me ...
> > 
> >
>
---------------------------------------------------------------
> > 
> > public static void main(String[] args) {
> > 
> > 
> >      try {
> >          XComponentContext xContext =
> >                     
> > com.sun.star.comp.helper.Bootstrap.bootstrap();
> > 
> >          // get the servie manager rom the office
> >          XMultiComponentFactory xMCF =
> > xContext.getServiceManager();
> > 
> >          // create a new instance of the the
> desktop
> >          Object oDesktop =
> > xMCF.createInstanceWithContext(
> >              "com.sun.star.frame.Desktop",
> xContext
> > );
> > 
> >          Object DH =
> xMCF.createInstanceWithContext(
> >              "com.sun.star.frame.DispatchHelper",
> > xContext );
> > 
> >          XDispatchHelper xDH = (XDispatchHelper)
> >                      UnoRuntime.queryInterface(
> >                     XDispatchHelper.class, DH);
> > 
> >          // query the desktop object for the
> > XComponentLoader
> >          XComponentLoader xCLoader = (
> > XComponentLoader )
> >              UnoRuntime.queryInterface(
> >                  XComponentLoader.class, oDesktop
> );
> > 
> >          PropertyValue LoadArgs[]  = new
> > PropertyValue []{};
> > 
> >          XComponent xComp =
> > xCLoader.loadComponentFromURL(
> >                      "private:factory/swriter",
> > "_blank", 0, LoadArgs );
> > 
> >          XModel xModel = (XModel)
> >             
> UnoRuntime.queryInterface(XModel.class,
> > xComp);
> > 
> >          XDispatchProvider xDP =
> (XDispatchProvider)
> >             
> > UnoRuntime.queryInterface(XDispatchProvider.class,
> >                         
> > xModel.getCurrentController().getFrame());
> > 
> >          xDH.executeDispatch(xDP,
> > ".uno:PrinterSetup", "", 0, LoadArgs);
> > 
> >      } catch(Exception e){
> >          System.err.println(" Exception " + e);
> >          e.printStackTrace(System.err);
> >      }
> >      System.out.println("... done");
> > 
> > }
> > 
> >
>
---------------------------------------------------------------
> > 
> > Hope that helps
> > 
> > Regards
> > 
> > Stephan
> > 
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > For additional commands, e-mail:
> > [EMAIL PROTECTED]
> > 
> > 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam
> protection around 
> http://mail.yahoo.com 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

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

Reply via email to