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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№122-08-2005 23:23:15

YuRock
Участник
 
Группа: Members
Зарегистрирован: 22-08-2005
Сообщений: 5

Вызов функций из win32-dll в XUL (вернее, в javascript)

Добрый день любителям (и спецам) Firefox!

Такая проблема.
Мне нужен: почтовый клиент в виде расширение к Firefox на XUL
У меня есть:
  1) готовый интерфейс на XUL (по нажатию на кнопки пока вызываются заглушки);
  2) готовая, рабочая dll с описанием функций по отправке/получению почты и т.д., пример программы, использующей эту dll (на Delphi).

Вопрос: можно ли эти две функциональности связать? Как в клиентском javascript Firefox'а вызвать функции из стандартной dll?

На сколько я понял, это в принципе невозможно - нужно делать обертку для этой dll в виде чего-то типа XPCOM-интерфейса и в нем уже вызывать нужные ф-ции. Если да - то подскажите, пожалуйста, пример такового.
Хотя я надеюсь, что есть более простой способ :)

Вкратце, суть вопроса: как вызвать функцию <SomeFunction> из библиотеки <SomeLibrary.dll>?

Извините, если я написал какое-нибудь некорректное словосочитание - я Мозиллой пользуюсь 2 дня.
Помогите, пожалуйста. Очень надо.

Отредактировано YuRock (22-08-2005 23:36:21)

Отсутствует

 

№223-08-2005 01:06:03

ssn
Участник
 
Группа: Extensions
Зарегистрирован: 24-01-2005
Сообщений: 71

Re: Вызов функций из win32-dll в XUL (вернее, в javascript)

Есть интересное кросс-платформенное расширение для Firefox -  HTML Validator
В расширении используется внешняя библиотека tidy
Компилируется как для Windows, так и для Linux
Для компиляции необходимы исходники Mozilla/Firefox
Если скачать исходники HTML Validator - там можно найти интерфейс к функциям dll (Windows) или so (Linux) библиотеки - реализуется через файл IDL - затем он компилируется в XPT
При этом все функции dll (so) библиотеки доступны из JavaScript
Вроде бы все понятно и просто когда смотришь готовое расширение
Но создать свое сложнее
Пишите что у Вас получилось - очень интересно
Хотя постановка задачи - зачем нужен почтовый клиент на XUL? - не совсем понятно

Отсутствует

 

№323-08-2005 01:27:31

YuRock
Участник
 
Группа: Members
Зарегистрирован: 22-08-2005
Сообщений: 5

Re: Вызов функций из win32-dll в XUL (вернее, в javascript)

> ssn
Спасибо большое. Исходники Мозиллы у меня есть, правда, я уже пробовал их компилить - слабо получилось :/ Надеюсь, что это расширение откомпилить проще.

Как что-то получится - обязательно напишу.

> Хотя постановка задачи - зачем нужен почтовый клиент на XUL?
А я откуда знаю? Заказ пришел - надо делать ;)

Отсутствует

 

№423-08-2005 01:32:00

LattyF
Участник
 
Группа: Members
Откуда: г. Самара
Зарегистрирован: 19-06-2005
Сообщений: 2924

Re: Вызов функций из win32-dll в XUL (вернее, в javascript)

Вот так вот напомогаешь тут, а потом расширения кривые получаются :) (без обид)


Black holes were created when the God divided by zero.

Отсутствует

 

№523-08-2005 01:43:30

ragnaar
Administrator
 
Группа: Administrators
Зарегистрирован: 14-10-2004
Сообщений: 2567
Веб-сайт

Re: Вызов функций из win32-dll в XUL (вернее, в javascript)

почтовый клиент в виде расширение к Firefox на XUL

А как на счет запостить результат здесь на форуме, заказчик не будет против распространения? :) Просто оч интересная идея и хотелось бы взглянуть на результат...

Отсутствует

 

№623-08-2005 03:36:45

YuRock
Участник
 
Группа: Members
Зарегистрирован: 22-08-2005
Сообщений: 5

Re: Вызов функций из win32-dll в XUL (вернее, в javascript)

> ragnaar

Да мне-то не жалко :) Тем более - заказчик-то "нерусский" ;)
Так-что немного измененную версию можно и выложить. Особенно, на русском языке ;)

Тут дело в другом... Откомпилить мне HTML Validator так и не удалось :(
Блин, ну не ем я make-файлы... Не понимаю, говорит:

file '$(DEPTH)/config/autoconf.mk' not found

хотя он там есть... Я все пути правильно указал... Что за...

Может кто-то подкинет похожий проект, заточенный под MSVC Workspace? Хотя это, думаю, нереально...

Может я просто что-то не так делаю?
Вот, что я делаю:
1) Скачал мозиллу;
2) В MakeFile.in указал:

DEPTH = <путь к корню исходников мозиллы>
topsrcdir = <путь к корню исходников мозиллы>
srcdir = <путь к корню исходников мозиллы>
VPATH = <путь к корню исходников мозиллы>

и навписал:

nmake Makefile.in

И выдается эта ошибка. Может, подскажете? :P

Отредактировано YuRock (23-08-2005 03:38:53)

Отсутствует

 

№724-08-2005 00:14:12

Unghost
Призрак-админ
 
Группа: Administrators
Откуда: Moscow, Russia
Зарегистрирован: 08-10-2004
Сообщений: 11771

Re: Вызов функций из win32-dll в XUL (вернее, в javascript)

http://www.allpeers.com/blog/creating-complex-firefox-extensions/
Может поможет.


Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.

Отсутствует

 

№824-08-2005 02:42:27

YuRock
Участник
 
Группа: Members
Зарегистрирован: 22-08-2005
Сообщений: 5

Re: Вызов функций из win32-dll в XUL (вернее, в javascript)

Ребят, ну кто компилил мозиллу? Что, нету таких ;)

Подскажите... Вод скачал я ее. Вижу 1000 мэйкфайлов.
На http://www.mozilla.org/build/win32.html ничего толком (естественно :| ) не написано. Что делать? Чем лучше и как компилить?

Это же касается и extention'ов. Unghost, тебе большое спасибо. Там много всего, но конкретного примера - тоже, естественно, нет.

Складывается впечатление, что ее никто не компилил, кроме как с сайта. По крайней мере под винду - я даже на форумах нигде не нашел :)

Но ведь это же неправда, скорее всего ;)

Может кто поделится все-таки готовым батником? (ну, и последовательностью действий между скачиванием исходников и запуском этого батника, если такие действия имеются).

Помогите, пожалуйста.

Отсутствует

 

№924-08-2005 05:23:48

YuRock
Участник
 
Группа: Members
Зарегистрирован: 22-08-2005
Сообщений: 5

Re: Вызов функций из win32-dll в XUL (вернее, в javascript)

Все, проблема решена! Урра! :D:D
(Вернее, теперь ее можно начинать решать ;) )

Если кому интересно. Вот, что я нашел (случайно повезло - нашел ссылку в статье, предложенной Unghost - еще раз большое спасибо ему):
http://www.iosart.com/firefox/xpcom/

Конечно, не все так просто оказалось. По-этому, чтобы дальше люди не мучались, я выложу уже только то, что работает (т.к. на этой ссылке не все - правда :) ):

Пример проекта xpcom (пустая рабочая болванка) (есть даже .dsp для MSVS!!!).
В сойствах проекта надо указать пути к инклудам и либам в gecko-sdk, который нужно скачать ниже.

http://www.iosart.com/firefox/xpcom/xpcom-sample.zip
http://ftp.mozilla.org/pub/mozilla.org/ … -1.8b1.zip

И все заработает само! :)


P.S. Как проект начнет заканчиваться - пришлю/выложу.
Спасибо всем.

Отсутствует

 

Board footer

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