Вызов COM-объектов из аддона Firefox - PullRequest
0 голосов
/ 29 октября 2008

Я собираюсь приступить к проекту, который требует, чтобы аддон Firefox выполнил вызов COM dll, установленного на клиентском компьютере Windows, и мне трудно оценить сложность этого процесса.

У меня достаточно опыта работы с COM, поэтому я не боюсь его. У меня меньше опыта с аддонами Firefox, но я не думаю, что именно там будут мои проблемы.

Кто-нибудь делал что-нибудь подобное?

Позволяет ли Firefox своим аддонам свободно общаться с внешним миром?

Есть ли где-нибудь плагин или пример кода, который делает что-то вроде этого (Google показал мало полезных результатов)?

Обновление: Естественно, я бы предпочел решение, которое не требует построения расширения в C ++, если это вообще возможно.

Ответы [ 3 ]

2 голосов
/ 29 октября 2008

Вас может заинтересовать расширение IE Tab с открытым исходным кодом. Я не смотрел, но я думаю, что это делает доступ Com к использованию дисплея IE.

2 голосов
/ 29 октября 2008

Создайте XPCOM в C ++ для обычного общения с вашими COM-объектами. Затем можно сделать расширения XPCOM доступными для Javascript, чтобы сделать остальное расширение (в основном, с графическим интерфейсом пользователя). Тем не менее, это все, что я понимаю об этом: -)

0 голосов
/ 10 декабря 2008

Если вы сделаете это, вам почти наверняка понадобится XPCOM. Взгляните на JSDB от Shanti Rao, который поддерживает COM / ActiveX в Javascript. Материал ActiveX находится в файле с именем wrap_com.cpp. Он поддерживает большинство интерфейсов IDispatch; метод Invoke в IDispatch - это магия, которая делает эту работу.

Насколько это сложно, зависит от того, насколько «просто» вы хотите, чтобы это было из Javascript. Если вы внедрили в XPCOM то, что называется IDispatchObject, где вам нужно было передать имена методов и массив аргументов, то это, вероятно, не так уж сложно. Если вы хотите создать общий метод для выполнения динамических привязок к COM-объектам и прямой ссылки на них, то это сложнее ... не уверен, что методы, используемые в JSDB, перенесут на XPCOM.

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