Xulrunner / JavaXPCOM - Как создать экземпляры imgIContainer? - PullRequest
1 голос
/ 04 ноября 2011

Я пытаюсь создать версию этого ответа для Java-XPCOM:

xul / xpcom скопировать изображение из строки в буфер обмена

Я могу получитьбольшинства служб / компонентов посредством вызовов, подобных перечисленным ниже (буфер обмена, io, переносимый), но я не могу сделать то же самое с контейнером изображений ( container = {}; в связанном ответевыше)

nsIClipboard clipboard = (nsIClipboard) org.mozilla.xpcom.Mozilla.getInstance().getServiceManager().getService("8b5314ba-db01-11d2-96ce-0060b0fb9956", nsIClipboard.NS_ICLIPBOARD_IID);

nsIIOService io = (nsIIOService) org.mozilla.xpcom.Mozilla.getInstance().getServiceManager().getService("9ac9e770-18bc-11d3-9337-00104ba0fd40", nsIIOService.NS_IIOSERVICE_IID);

nsITransferable transferable = (nsITransferable)org.mozilla.xpcom.Mozilla.getInstance().getServiceManager().getService("8b5314bc-db01-11d2-96ce-0060b0fb9956", nsITransferable.NS_ITRANSFERABLE_IID);

Я попытался создать массив imgIContainers, используя и componentManager, и serviceManager, но не повезло ..

imgIContainer imgContainer = (imgIContainer)org.mozilla.xpcom.Mozilla.getInstance().getComponentManager().createInstance("5e04ec5e-1dd2-11b2-8fda-c4db5fb666e0", null, imgIContainer.IMGICONTAINER_IID);

Неправильно ли указан мой Class IDили я должен все это делать совершенно по-другому?

Спасибо

Прадьюмна

1 Ответ

1 голос
/ 04 ноября 2011

Я обнаружил, что идентификатор класса @ mozilla.org / image / container; 1 равен 27f0682c-ff64-4dd2-ae7a-668e59f2fd38, а не 5e04ec5e-1dd2-11b2-8fda-c4db5fb666e0, который я неправильно использовал ..

...