>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Затребование компонентов XPCOM из веток Network, Mail ... http://forum.mozilla-russia.org/viewtopic.php?id=8051 |
Celdox > 02-02-2006 16:45:22 |
Как известно, чтобы затребовать компонент, а затем обозначить нужный класс необходим код var aFile = Components.classes["@mozilla.org/file/local;1"].createInstance(); Однако ряд компонентов отказываются быть затребованными (из веток Network, Mail и т.д) Почему? |
Mash > 02-02-2006 17:12:12 |
...и ни строчки о ПО... |
Celdox > 02-02-2006 17:22:26 |
А что говорить, то... Windows XP, Firefox 1.5. (XUL + Javascript) |
Mash > 03-02-2006 07:36:45 |
Ну и откуда в Firefox Celdox пишет
почта? |
Celdox > 03-02-2006 09:31:33 |
в том числе и почта. Но все же не только, и далеко не только. Ну, а из почты вот эти господа: правда странно. А насчет почты в Firefox. Это же XPCOM. Значит при установке Firefox компоненты XPCOM устанавливаются не полностью? (А Thunderbird стоит, он то нужные библиотеки должен ставить?) |
JustSlon > 03-02-2006 09:43:20 |
Посмотрите в профиле или в директории firefox'а файл compreg.dat - там прописаны все компоненты.. Попробуйте поискать. Кстати, в моём нет (Firefox 1.5, Xulrunner 1.8). |
Mash > 03-02-2006 10:00:14 |
Celdox пишет
Всё это относится к почте, в Fx не устанавливаются эти компоненты, т.к. они там не нужны. См., как уже сказали, compreg.dat или: Выделить код Код:var dumpCSAndCI = " === Components.interfaces === \r\n\r\n"; for (prop in Components.interfaces) dumpCSAndCI += prop + "\r\n"; dumpCSAndCI += "\r\n\r\n === Components.classes === \r\n\r\n"; for (prop in Components.classes) dumpCSAndCI += prop + "\r\n"; Components.classes["@mozilla.org/consoleservice;1"] .getService(Components.interfaces.nsIConsoleService) .logStringMessage(dumpCSAndCI); Celdox пишет
Вот из TB их и можно вызвать, а наличие установленного TB не влияет на наличие/отсутствие его компонент в Fx. |
Celdox > 03-02-2006 10:12:58 |
JustSlon и Mash, спасибо. В профилях обеих програм в файлах compreg.dat в списках, в частности, почтовых компонентов у Firefox зарегистрированными (по умолчанию?) не оказалось. Но вопрос в том (ведь и то и то Mozilla). |
JustSlon > 03-02-2006 10:25:07 |
Вообще, в сырцах фаерфокса 1.5 есть "mailnews/". Там лежат сырцы компонент - видимо собрать их можно.. Только как - я тебе не скажу, т.к. сам не знаю. |
Celdox > 03-02-2006 10:51:28 |
Не уж то через ... Надо найти способ без сырцов. |
Celdox > 03-02-2006 10:56:59 |
Mash пишет
Просто их отсутствие, вернее невозможность в данный момент вызова, в Firefox портит всю малину. |
INFOMAN > 03-02-2006 11:53:26 |
А на фига вообще из Лиса вызывать почтовые компоненты? |
Celdox > 03-02-2006 12:17:36 |
Я вот щас тоже об этом думаю. В принципе в ТЗ проекта эти компоненты вызывать надо. Помимо других... Но общий вопрос, а возможно ли поставить в FF (Fx) любой компонент из списка XPCOM? без сырцов, |
Mash > 03-02-2006 12:49:21 |
Celdox пишет
Сделать на базе Mozilla/Seamonkey? Не проще? Celdox пишет
Вполне возможно. С сырцами, собирать самому. Правда, не уверен, что это заработает; да и одна компонента потянет за собой вторую, потом вторая потянет... Mozilla, так проще. |
Mash > 03-02-2006 12:50:28 |
P.S. Хотя... Смотря что за программа. Если там упор делается на Mail и все необходимые вещи есть в TB, то можно и на его базе. |
Mash > 03-02-2006 12:54:52 |
Mash пишет
Можно попробовать выдрать из SM/Mozilla какой-нибудь уже готовый компонент (DLL), зарегистировать его (скопировав в каталог "firefox/components" и потерев "compreg.dat" (м.б. ещё и "xpti.dat", не помню) в каталоге профиля), а потом посмотреть его работоспособность... Получится-нет -- не знаю, не пробовал никогда. |
Mash > 03-02-2006 14:04:57 |
Хотя пардон, compreg.dat и xpti.dat нужно чистить в каталоге "components" самого Fx, если копировать DLL в firefox/components. |