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]