Am Donnerstag, den 07.04.2011, 18:08 +0200 schrieb Niklas Nebel:
> On 07.04.2011 15:48, Andrew Douglas Pitonyak wrote:
> > I had hoped it would be as easy as
> >
> > CreateUnoService("com.sun.star.awt.PrinterServer")
> >
> > Unfortunately, the returned object is not usable.
> 
> "Usable" is a relative term. You can always do something like this:
> 
> oServer = CreateUnoService("com.sun.star.awt.PrinterServer")
> oCore = CreateUnoService("com.sun.star.reflection.CoreReflection")
> oClass = oCore.forName("com.sun.star.awt.XPrinterServer")
> oMethod = oClass.getMethod("getPrinterNames")
> aNames = oMethod.invoke(oServer, Array())

Ah, I see. This does work.

Can you explain why the intermediate step using Core Reflection is
necessary, please?

>From those old times there is another macro that must have been working,
and it doesn't (work or use CoreReflection):

function PrinterNameListNew
        ps = CreateUnoService("com.sun.star.awt.PrinterServer")
        dbgM(ps)
        dbgP(ps)
        dim xps as object
        xps = ps.QueryInterface("com.sun.star.awt.XPrinterServer")
        if NOT IsNull(xps) then
                dbgM(xps)
        else
                msgbox "NULL"
        endif
        PrinterNameListNew = ps.getPrinterNames()
end function

TIA,
Marc


--
-----------------------------------------------------------------
To unsubscribe send email to dev-unsubscr...@api.openoffice.org
For additional commands send email to sy...@api.openoffice.org
with Subject: help

Reply via email to