Как известно, чтобы затребовать компонент, а затем обозначить нужный класс необходим код
следующего вида

var aFile = Components.classes["@mozilla.org/file/local;1"].createInstance();
if (aFile) aFile.QueryInterface(Components.interfaces.nsILocalFile);

Однако ряд компонентов отказываются быть затребованными (из веток Network, Mail и т.д)

Почему?

...и ни строчки о ПО...

А что говорить, то...

Windows XP, Firefox 1.5. (XUL + Javascript)

Ну и откуда в Firefox

Celdox пишет

Однако ряд компонентов отказываются быть затребованными (из веток Network, Mail и т.д)

почта?

:) в том числе и почта. Но все же не только, и далеко не только.

Ну, а из почты вот эти господа:
    * @mozilla.org/messenger/popservice;1
    * @mozilla.org/messenger/protocol/info;1?type=pop3
    * @mozilla.org/network/protocol;1?name=pop

правда странно.
(Я вызываю getService(); для них.)

А насчет почты в Firefox. Это же XPCOM. Значит при установке Firefox компоненты XPCOM устанавливаются не полностью? (А Thunderbird стоит, он то нужные библиотеки должен ставить?)

Посмотрите в профиле или в директории firefox'а файл compreg.dat - там прописаны все компоненты.. Попробуйте поискать. Кстати, в моём нет (Firefox 1.5, Xulrunner 1.8). ;)

Celdox пишет

@mozilla.org/messenger/popservice;1, @mozilla.org/messenger/protocol/info;1?type=pop3, @mozilla.org/network/protocol;1?name=pop

Всё это относится к почте, в 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 пишет

А Thunderbird стоит, он то нужные библиотеки должен ставить?

Вот из TB их и можно вызвать, а наличие установленного TB не влияет на наличие/отсутствие его компонент в Fx.

JustSlon и Mash, спасибо.

В профилях обеих програм в файлах compreg.dat в списках, в частности, почтовых компонентов у Firefox зарегистрированными (по умолчанию?) не оказалось.

Но вопрос в том
как вызвать нужные компоненты из Firefox?
или как их сюда установить либо зарегистрировать?

(ведь и то и то Mozilla).

Вообще, в сырцах фаерфокса 1.5 есть "mailnews/". Там лежат сырцы компонент - видимо собрать их можно.. Только как - я тебе не скажу, т.к. сам не знаю.

Не уж то через ...

Надо найти способ без сырцов.
:|

Mash пишет
Celdox пишет

@mozilla.org/messenger/popservice;1, @mozilla.org/messenger/protocol/info;1?type=pop3, @mozilla.org/network/protocol;1?name=pop

Всё это относится к почте, в Fx не устанавливаются эти компоненты, т.к. они там не нужны.

Celdox пишет

А Thunderbird стоит, он то нужные библиотеки должен ставить?

Вот из TB их и можно вызвать, а наличие установленного TB не влияет на наличие/отсутствие его компонент в Fx.

Просто их отсутствие, вернее невозможность в данный момент вызова, в Firefox портит всю малину.

А на фига вообще из Лиса вызывать почтовые компоненты?

Я вот щас тоже об этом думаю.

В принципе в ТЗ проекта эти компоненты вызывать надо. Помимо других...
Но вот теперь возник вопрос на базе какой программы Firefox или TB делать
данную задачу.

Но общий вопрос, а возможно ли поставить в FF (Fx) любой компонент из списка XPCOM?

без сырцов,
с сырцами?

Celdox пишет

Но вот теперь возник вопрос на базе какой программы Firefox или TB делать данную задачу.

Сделать на базе Mozilla/Seamonkey? Не проще?

Celdox пишет

Но общий вопрос, а возможно ли поставить в FF (Fx) любой компонент из списка XPCOM?

Вполне возможно. С сырцами, собирать самому. Правда, не уверен, что это заработает; да и одна компонента потянет за собой вторую, потом вторая потянет...

Mozilla, так проще.

P.S. Хотя... Смотря что за программа. Если там упор делается на Mail и все необходимые вещи есть в TB, то можно и на его базе.

Mash пишет

Вполне возможно. С сырцами, собирать самому.

Можно попробовать выдрать из SM/Mozilla какой-нибудь уже готовый компонент (DLL), зарегистировать его (скопировав в каталог "firefox/components" и потерев "compreg.dat" (м.б. ещё и "xpti.dat", не помню) в каталоге профиля), а потом посмотреть его работоспособность... Получится-нет -- не знаю, не пробовал никогда.

Хотя пардон, compreg.dat и xpti.dat нужно чистить в каталоге "components" самого Fx, если копировать DLL в firefox/components.