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

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

Разработка » XUL и textbox. пара не сложных вопросов. » 24-07-2008 06:41:14

Необходимо сделать textbox для поиска. по типу стандартного поиска у ФФ. чтобы можно было в списке выбрать поисковик. но не найду как это сделать?
можно ли слевой стороны привязать иконку к текстбоксу?
как в textbox обработать нажатие enter?

Разработка » XPCOM и Opera » 29-10-2007 06:18:45

Создал расширение(dll), в ФФ все работает, можно ли его как-нибуди заставить работать в опере?

Разработка » где взять nsIProxyObjectManager.h? » 18-10-2007 11:09:24

В SDK его нет, но он есть в компонентах....

Разработка » PR_CreateThread Как послать событие основному потоку?? » 17-10-2007 10:11:53

Задача такая: из яваскрипта вызывается XPCOM ф-ция(с++), которая порождает новый процесс. Этот процесс что-то делает и, скажем, кидает событие в яву, что я завершился. как сделать?
Процесс создал, все нормально, Но как теперь корректно кинуть событие, чтобы ява нормально отработала?? Пытаюсь сделать с помощью IobserverService, но вот не задача, когда я кидаю сообщение из основного потока - все работает, а когда из порожденного - вешается ФФ на строке:
observerService->NotifyObservers(NULL, "MyCommand", NULL);
В общем, не могу из порожденного вызвать явовский скрипт :-(

Разработка » Как послать событие из XPCOM в яву?? » 15-10-2007 15:37:01

сделал так:
[scriptable, uuid()]
interface ICallBack : nsISupports
{
  void OnFinish(in long res);
  void OnProcess(in long res);
};


interface ISpecialThing : nsISupports
{
  attribute ICallBack cb;
};

class CSpecialThing : public ISpecialThing{
   void DoJavaProcess(PRInt32 p);
   ICallBack *cb;
}

CSpecialThing::DoJavaProcess(PRInt32 p){
   if(p==1)
      cb->OnFinish(1);
   else cb->OnProcess(1);
}

var listener = {
  OnProcess : function(res) {
      alert(res);
  },
  OnFinish : function(res) {
      alert(res);
  }
}
doc = window.document;
try {
   netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
   const cid = "@starkravingfinkle.org/specialthing;1";
   obj = Components.classes[cid].createInstance();
   obj = obj.QueryInterface(Components.interfaces.ISpecialThing);
   obj.cb = listener;
}
catch (err) {
   alert(err);
   exit();
}   

и внутри XPCOM пытаюсь вызвать DoJavaProcess
DoJavaProcess(1);

когда дохожу до строчки       cb->OnFinish(1);
падает ФФ

Разработка » XPCOM как сделать callback ф-цию? » 08-10-2007 13:16:20

нигде не могу найти ответ....
Помогите, плз! Смысл прост: я вызываю функцию, расширение что-то делает, а мозилла показывает какой-нить прогресс бар с кнопочкой прервать. как это сделать? замучался уже :-(

Разработка » XPCOM как сделать callback ф-цию? » 08-10-2007 08:32:33

Создал XPCOM расширение, в интерфейсе которого есть ф-ция Func1(arg);
если я из скрипта вызываю ее
var res = Func1(arg);
FF вешается, пока ф-ция не отработает. Как этого избежать? как в бэкграунде запустить выполнение и ждать завершения?

Разработка » Проблема с XPCOM, время горит, Help! » 05-10-2007 07:11:39

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

Разработка » Проблема с XPCOM, время горит, Help! » 05-10-2007 05:59:07

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

Разработка » Проблема с XPCOM, время горит, Help! » 04-10-2007 11:18:54

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

Разработка » Проблема с XPCOM, время горит, Help! » 04-10-2007 07:35:34

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

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

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

Разработка » Проблема с XPCOM, время горит, Help! » 02-10-2007 07:26:26

Сделал все как описано в статье 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 и подгрузить пару библиотек. Как эт

Board footer

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