[api-dev] Re: Get list of printers
Hi Andrew, 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()) Niklas Wow, thanks. Thanks to Ariel, I have a few links, one of which brings me here: http://openoffice.org/projects/api/lists/dev/archive/2008-08/message/66 So this means the problem with this absolutely unusable (despite the CoreReflection hoops) service is known for more than 2.5 years already, and nobody of us developers ever cared? Shame on us! Known as http://openoffice.org/bugzilla/show_bug.cgi?id=117765 now, fixed in CWS fs35a. Ciao Frank -- - To unsubscribe send email to dev-unsubscr...@api.openoffice.org For additional commands send email to sy...@api.openoffice.org with Subject: help
[api-dev] Re: Get list of printers
On 07.04.2011 22:43, Marc Santhoff wrote: Can you explain why the intermediate step using Core Reflection is necessary, please? As Andrew wrote: The usual logic, where Introspection finds the methods from all supported interfaces, requires XTypeProvider. 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 In fact, this will work in 3.4, where the Type parameter for queryInterface can be given as a string (issue 116184). Niklas -- - To unsubscribe send email to dev-unsubscr...@api.openoffice.org For additional commands send email to sy...@api.openoffice.org with Subject: help
[api-dev] Re: Get list of printers
Hi, Issue 117765 is good news. But this service com.sun.star.awt.PrinterServer is not documented in the IDL ! Only its interface. I hate using undocumented API. Can it be also corrected ? Regards Bernard Message de Frank Schönheit date 2011-04-08 09:28 : Hi Andrew, 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()) Niklas Wow, thanks. Thanks to Ariel, I have a few links, one of which brings me here: http://openoffice.org/projects/api/lists/dev/archive/2008-08/message/66 So this means the problem with this absolutely unusable (despite the CoreReflection hoops) service is known for more than 2.5 years already, and nobody of us developers ever cared? Shame on us! Known as http://openoffice.org/bugzilla/show_bug.cgi?id=117765 now, fixed in CWS fs35a. Ciao Frank -- - To unsubscribe send email to dev-unsubscr...@api.openoffice.org For additional commands send email to sy...@api.openoffice.org with Subject: help -- - To unsubscribe send email to dev-unsubscr...@api.openoffice.org For additional commands send email to sy...@api.openoffice.org with Subject: help
[api-dev] Re: Get list of printers
I have created Issue http://openoffice.org/bugzilla/show_bug.cgi?id=117769 to request the IDL documentation. Bernard Message de Bernard Marcelly date 2011-04-08 13:47 : Hi, Issue 117765 is good news. But this service com.sun.star.awt.PrinterServer is not documented in the IDL ! Only its interface. I hate using undocumented API. Can it be also corrected ? Regards Bernard Message de Frank Schönheit date 2011-04-08 09:28 : Hi Andrew, 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()) Niklas Wow, thanks. Thanks to Ariel, I have a few links, one of which brings me here: http://openoffice.org/projects/api/lists/dev/archive/2008-08/message/66 So this means the problem with this absolutely unusable (despite the CoreReflection hoops) service is known for more than 2.5 years already, and nobody of us developers ever cared? Shame on us! Known as http://openoffice.org/bugzilla/show_bug.cgi?id=117765 now, fixed in CWS fs35a. Ciao Frank -- -- - To unsubscribe send email to dev-unsubscr...@api.openoffice.org For additional commands send email to sy...@api.openoffice.org with Subject: help
[api-dev] Re: Get list of printers
Excellent! I documented, so it will be in my latest OOME document when I push it out Not nearly sufficient, however. On 04/08/2011 08:53 AM, Bernard Marcelly wrote: I have created Issue http://openoffice.org/bugzilla/show_bug.cgi?id=117769 to request the IDL documentation. Bernard Message de Bernard Marcelly date 2011-04-08 13:47 : Hi, Issue 117765 is good news. But this service com.sun.star.awt.PrinterServer is not documented in the IDL ! Only its interface. I hate using undocumented API. Can it be also corrected ? Regards Bernard Message de Frank Schönheit date 2011-04-08 09:28 : Hi Andrew, 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()) Niklas Wow, thanks. Thanks to Ariel, I have a few links, one of which brings me here: http://openoffice.org/projects/api/lists/dev/archive/2008-08/message/66 So this means the problem with this absolutely unusable (despite the CoreReflection hoops) service is known for more than 2.5 years already, and nobody of us developers ever cared? Shame on us! Known as http://openoffice.org/bugzilla/show_bug.cgi?id=117765 now, fixed in CWS fs35a. Ciao Frank -- -- - To unsubscribe send email to dev-unsubscr...@api.openoffice.org For additional commands send email to sy...@api.openoffice.org with Subject: help -- Andrew Pitonyak My Macro Document: http://www.pitonyak.org/AndrewMacro.odt Info: http://www.pitonyak.org/oo.php -- - To unsubscribe send email to dev-unsubscr...@api.openoffice.org For additional commands send email to sy...@api.openoffice.org with Subject: help