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

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№102-10-2007 07:26:26

hades
Участник
 
Группа: Members
Зарегистрирован: 02-10-2007
Сообщений: 13
UA: IE 6.0

Проблема с XPCOM, время горит, Help!

Сделал все как описано в статье http://developer.mozilla.org/en/docs/How_to_build_a_binary_XPCOM_component_using_Visual_Studio
Сделал скрипт:

Выделить код

Код:

try {
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    const cid = "@starkravingfinkle.org/specialthing;1";
    var obj = Components.classes[cid].createInstance();
    obj = obj.QueryInterface(Components.interfaces.ISpecialThing);
// на этой строчке получаю исключение: NS_ERROR_XPC_BAD_CONVERT_JS_NULL_REF
//(NULL can not be used for a c++ reference type)
  }
  catch (err) {
    alert(err);
    return;
  }
  var res = obj.add(3, 4);
  alert('3+4 = ' + res);

  var name = obj.name;
  alert('Name = ' + name);

  obj.name = 'New Name';
  name = obj.name;
  alert('Name = ' + name);

что это за исключение, почему и как с ним бороться?

У меня стоит:
gecko-sdk-win32-msvc-1.8.0.4.zip
firefox 1.5
Visual Studio 2005

Попутно пара вопросов:
1. Нужно организовать функцию Init и подгрузить пару библиотек. Как это сделать?
2. Сделаю некоторую ф-цию: DoSomth, во время выполнения которой небходимо реализовать прогресс бар, с возможностью прервать операцию. как это сделать?

Отсутствует

 

№204-10-2007 07:35:34

hades
Участник
 
Группа: Members
Зарегистрирован: 02-10-2007
Сообщений: 13
UA: IE 6.0

Re: Проблема с XPCOM, время горит, Help!

Замучался уже...
var obj = Components.classes[cid].createInstance();
здесь все нормально. Встаю отладчиком, конструктор вызывается — все гуд? все работает!
obj = obj.QueryInterface(Components.interfaces.ISpecialThing);
здесь падаем... опять этот нул.... в чем может быть дело?

сделал так:
var obj = Components.classes[cid].createInstance();
alert(Components.interfaces.ISpecialThing);

Получаю сообщение: undefined. Приплыли...

Отредактировано hades (04-10-2007 08:28:38)

Отсутствует

 

№304-10-2007 11:18:54

hades
Участник
 
Группа: Members
Зарегистрирован: 02-10-2007
Сообщений: 13
UA: IE 6.0

Re: Проблема с XPCOM, время горит, Help!

Все решилось гораздо проще!
Я сам, тупица, вместо *.xpt клал в компоненты *.exp
Остается один актульный вопрос: Делаю кнопку, накоторую вешаю ява скрипт. Ява скрипт из моего интерфейса дергает функцию из моего интерфейса, как мне реализовать прогресс бар с возможностью прервать операцию???

Отсутствует

 

№404-10-2007 14:12:05

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Проблема с XPCOM, время горит, Help!

hades
а разве движение обычного прогресс бара остановить нельзя?

Отсутствует

 

№505-10-2007 05:59:07

hades
Участник
 
Группа: Members
Зарегистрирован: 02-10-2007
Сообщений: 13
UA: IE 6.0

Re: Проблема с XPCOM, время горит, Help!

Дело в том, что я только начал изучать xpcom, меня, желательно ткнуть в примерчик!
и еще вопрос: если я вызываю ф-wb. из ява скрипта, ФФ подвисает, надо делать callbak ф-цию, видимо. Скажите, в каком направлении копать?

Отсутствует

 

№605-10-2007 06:47:39

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 2.0

Re: Проблема с XPCOM, время горит, Help!

Отсутствует

 

№705-10-2007 07:11:39

hades
Участник
 
Группа: Members
Зарегистрирован: 02-10-2007
Сообщений: 13
UA: IE 6.0

Re: Проблема с XPCOM, время горит, Help!

shutnik
не то... мне с xpcom надо разобраться... потом уже xul

Отсутствует

 

Board footer

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