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

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

№115-10-2007 11:32:15

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

Как послать событие из XPCOM в яву??

Хелп, плз!

Отсутствует

 

№215-10-2007 15:37:01

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

Re: Как послать событие из XPCOM в яву??

сделал так:
[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);
падает ФФ

Отсутствует

 

№315-10-2007 15:46:25

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Как послать событие из XPCOM в яву??

Как послать событие из XPCOM в яву??

А какое сообщение, и в какую яву ? Если уведомление в javascript, тогда с помощью http://www.xulplanet.com/references/xpc … rvice.html.
Каждый подписавшийся скрипт получит управление после notifyObservers.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

Board footer

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