Не регистрируется XPCOM компонетн
От: filimonovmax Россия  
Дата: 26.09.06 08:17
Оценка:
Помогите, плз, кто может, а то прям в отчаянии скоро буду

Нужно написать extension для FireFox, которое будет использовать мною написанный XPCOM компонент.
Само расширение устанавливается и даже может работать. Но тот компонент, что я писал, не хочет регистрироваться никак.
Т.е. скрипт не может найти этот компонент.

netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
const cid = "@mydomain.com/myPluginCategory/myPluginName;1";
obj = Components.classes[cid].createInstance(); // *** тут ошибка ***
obj = obj.QueryInterface(Components.interfaces.IMyPlugin);

говорит:
Components.classes[cid] has no properties.


Компонент писал как написано тут, подключил все библиотеки, gecko-sdk, все скомпилировалось. В итоге получили MyPlugin.dll и MyPlugin.xpt. Сделал MyPlugin.xpi
Положил файлы MyPlugin.xpt и MyPlugin.dll (как сказано в мануале) в папку "components" (на том же уровне, что и "chrome"). Когда расширение устанавливается в FireFox — никаких ошибок или предупреждений, после рестарта браузера появляется мой тулбар, кнопка и все, что нужно. НО компонент так и не регистрируется...

Кто писал XPCOM и пользовал его из расширений FireFox, отзовитесь плз.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.