Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

Разработка » XPCOM NS_NOINERFACE » 30-05-2009 22:01:40

Друзья, проблема решилась! Я просто заново повторил все стандартные процедуры по созданию xpcom с++ компонентов. В любом случае, Crazy-EyE отдельная благодарность - теперь я отношусь к коду XPCOM более осмысленно и умею пользоваться jsconsole :)

Разработка » XPCOM NS_NOINERFACE » 30-05-2009 17:15:41

Спасибо что помогаете :)

вот это

Выделить код

Код:

obj.QueryInterface(Components.interfaces.nsISupports)

работает

на вот этом

Выделить код

Код:

Components.classes["@component.com/notificationservice;1"].createInstance(Components.interfaces.nsIQRENotificationService)

падает с ошибкой Exeption "Component returned failure code 0x80570015 NS_ERROR_XPC_CI_RETURNED_FAILURE

30-05-2009 17:33:25
В jsconsole

Выделить код

Код:

Components.interfaces.nsIQRENotificationService - определяется

а

Выделить код

Код:

Components.interfaces.nsIQRENotificationService==undefined

выдаёт false

Разработка » XPCOM NS_NOINERFACE » 30-05-2009 16:44:20

Ситуация на самом деле весьма забавная.
когда я из яваскрипта делаю

var obj = Components.classes["@component.com/notificationservice;1"].createInstance();

то в отладчике MSVC++ 2005 встаю на конструкторе nsQRENotificationService а потом на вот этой строчке в глобальной области -

NS_IMPL_ISUPPORTS1(nsQRENotificationService, nsIQRENotificationService)

- раз 10 подряд я здесь встаю. Потом яваскрипт доходит до следующей строчки:

aveConnection = obj.QueryInterface(Components.interfaces.nsIQRENotificationService);

после этого я раз 6 встаю на той же самой

NS_IMPL_ISUPPORTS1(nsQRENotificationService, nsIQRENotificationService)

в плюсовом отладчике.

То есть конструктор нужного мне класса выполнился, но интерфейса для него почему-то нет. Что тут можно зделать?

Разработка » XPCOM NS_NOINERFACE » 30-05-2009 15:43:13

Спасибо. А можно ли как-то получить список интерфейсов, которые поддерживаются данным объектом? Как обычно решаются такие проблемы людьми знающими?

Разработка » XPCOM NS_NOINERFACE » 30-05-2009 11:00:38

Здравствуйте, уважаемые специалисты.

Меня тут посадили отлаживать XPCOM с++ код.

При попытке сделать вот это:

aveConnection = obj.QueryInterface(Components.interfaces.nsIQRENotificationService);

из JavaScript (XUL приложение) вылетает JavaScript Exeption

"Component returned failure code: 0x80004002 NS_NOINTERFACE.

И это при том, что при компиляции в .idl файле этот интерфес прописан.

В чём тут может быть дело? Какие варианты? Помогите новичку пожалуйста - гуглю уже полдня.

Разработка » Как избавиться от Security popup » 28-04-2009 11:56:46

Здравствуйте!

Я создаю элемент

Выделить код

Код:

<browser id="box_brw" flex="1" src=""  hidden="false"/>

затем гружу вебстраничку в которой после определённого события вызывается эта функция:

Выделить код

Код:

function Interceptor ()
{
netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead UniversalXPConnect'); 

var brwsr = window.parent.document.getElementById('box_brw'); brwsr.setAttribute('src', 'about:blank');
};

Всё выполняется без ошибок. Единственная проблема - при выполнении Interceptor появляется всплывающее окно - типа подтвердите что вы даёте данному сайту уровень безопасности.

Помогите пожалуйста избавиться от этого всплывающего окна! - гуглю уже полдня

Разработка » Splitter bug » 04-04-2009 18:17:05

Wow! Антон, да вы просто волшебник! Сэкономили мне день работы! Большое спасибо. Добавьте кнопку Donate к своему профилю. :)

Разработка » Splitter bug » 04-04-2009 16:14:55

Вот здесь видно лучше. Кнопки рисуются поверх сплиттера и не убираются

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="chrome://global/skin/" type"text/css" ?>

<page id="sbVcrSidebar" title="Page"
          orient="horizontal" width="1024" height="768"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
          xmlns:html="http://www.w3.org/1999/xhtml">

    <vbox id="main_page" flex="1">

      <hbox flex="1">

        <vbox id="left_panel" style="width:120px; min-width:100px; min-height: 100px;">

          <box flex="1" id="side bar">

            <box flex="1">

              <vbox id="overlay_users" flex="1">
              </vbox>

            </box>

          </box>

          <vbox>
            <toolbox flex="0">
              <toolbar id="tbar_userstatus" flex="0">
                <toolbarbutton flex="0"  id="btn_yes" label="AAA" autoCheck="false" />
                <toolbarbutton flex="0" id="btn_no" label="BBB" autoCheck="false" />

Разработка » Splitter bug » 04-04-2009 14:17:43

Здравствуйте!

Если в приложении XUL слева и справа создать две кнопки(button) и разделить их splitter, то если кнопки flex="1" то всё красиво. Кнопки растягиваются справа и слева по мере того как двигаешь сплиттер. А вот если например, справа создать кнопку flex="0" и двигать сплиттер чтобы её закрыть, то кнопка нифига не закрывается, а просто рисуется поверх всего. Как этот косяк устранить? Может нужно создать свой обработчик событий от сплиттера? Помогите бедолаге!

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]