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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№5111-05-2006 17:27:45

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Если не ооочень затруднит сбросте плиз на softmax[сабака]hotbox.ru

Отсутствует

 

№5211-05-2006 20:34:40

INFOMAN
Телепаты в отпуске
 
Группа: Extensions
Откуда: Кишинев
Зарегистрирован: 31-12-2005
Сообщений: 1099
Веб-сайт

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Необходимо встроить движок Gecko в приложение под .NET

В исходниках в папке extensions лежит некий manticore

README пишет

Manticore Browser

Manticore is a web browser embedding Gecko and Trident (IE) using the IWebBrowser2 interface exposed by each layout engine's ActiveX wrapper. The front end is written in C# using
the .NET framework.


Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL

Отсутствует

 

№5312-05-2006 11:05:53

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Да уж чего только нет в исходних Mozilla ))) Посмотрю обязательно....

Отсутствует

 

№5412-05-2006 14:43:58

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Так, посмотрел manticore - если честно весьма корявая апликация, котороя к томуже не валидно завершается, ну да ладно. Никак не могу найти установку параметров Proxy! Как работет с ними (proxy-параметрами) mozctrlx.dll?

Отредактировано softmax (12-05-2006 14:47:46)

Отсутствует

 

№5515-05-2006 11:20:06

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

T-Rex
Огромное спасибо за проект!!!

Отсутствует

 

№5616-05-2006 11:17:21

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Кстати сделал сравнение ActiveX компонент IE и Mozilla, в целом резулльтаты сопоставимые, как по памяти так и по скорости работы. в среднем мозилла еслт больше на 2-4 Мб.

Отсутствует

 

№5706-06-2006 18:46:08

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Удалось скомпиляь FireFox под 2005-ую студию. Если интересуют подробности постараюсь выложить в ближайшее время!

Отсутствует

 

№5806-06-2006 18:51:41

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Основня проблема - валился xpidl - для него просто скопировать xpidl.exe.manifest в то место откуда он вызывается!

Отсутствует

 

№5906-06-2006 19:30:58

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Если не трудно, выложите, plz. пошаговое описание действий по сборке FF со ссылками.

Отсутствует

 

№6006-06-2006 19:32:49

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Да, еще вопрос, FF собирается со статической линковкой или с динамической (с динамической большинство исполняемых файлов в каталоге bin имеют размер 64k)?

Отсутствует

 

№6106-06-2006 19:45:01

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Я так полагаю что firefox.exe имеющий 135 К - одназначно показатель динамической сборки
Пошаговая инструкция - постараюсь в ближайшее время ...

Отсутствует

 

№6206-06-2006 20:03:46

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Я сейчас подымаю DotNetEmbed (забытый Wrapper внутри mozill-овских исходников). Под Net 1.1. пример удалось оживить, но вот под 2.0 DotNetEmbed не компиляется корректно. Т.е. на выходе dll есть, но подключить её в .NET проекты невозможно. пишет FileNotFound. Естественно референс на Dll прописан.

По поводу компиляции - в соответсвии с рекомендациями людей умеющих работать с cygwin - я всё компилял в нём.
Masm32, Perl, VC++ Toolkit - ничего из этого не надо. Perl берётся из cigwyn (не забыть поставить соотв. package), masm32 есть в VS2005. Tollkit не нужен.

сперва запускаем ./configure ... с параметрами (вот ту п.3 они описаны: http://developer.mozilla.org/en/docs/VC8_Build_Instructions#Visual_Studio_2005
./configure --disable-activex --disable-activex-scripting --disable-xpconnect --disable-accessibility --enable-application=suite (или browser - если вся mozilla не нужна)
), потом make -f makefile.
Ждём момента когда завалиться xpidl.exe. После этого находим в глубинах mozilla xpidl.exe.manifest - и копируем его в dist (откуда этот dist и вызывается). В том же каталоге присутвуют exe и dll - для них также находим manifest ....

Вот вообщем-то если кратко, постараюсь через пару дней выложить подробную инструкцию....

Отредактировано softmax (06-06-2006 20:08:04)

Отсутствует

 

№6306-06-2006 20:13:23

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Сходил посмотрел что там по ссылке... во 2м пункте указано что нужна Platform SDK.... вы ее устанавливали? По-идее, при наличии полной версии VisualStudio 2005 (не Express), необходимости в PSDK быть не должно (точно так же как и не должно быть необходимости в VC++ 2003 Toolkit при наличии нормальной VS2003 и правильно прописанных путей и переменных окружения).

Отредактировано T-Rex (06-06-2006 20:13:50)

Отсутствует

 

№6406-06-2006 20:15:20

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

T-Rex
Честно говоря установил....

Отсутствует

 

№6506-06-2006 20:49:16

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Всё!!! DotNetEmbed под NET 2.0 покорён! Удалось получить 100% рабочий код.

Отредактировано softmax (06-06-2006 21:11:51)

Отсутствует

 

№6606-06-2006 23:15:32

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Всё!!! DotNetEmbed под NET 2.0 покорён! Удалось получить 100% рабочий код.

Надеюсь, у вас найдется время для написания небольшой статейки по этому поводу ;)

Отсутствует

 

№6706-06-2006 23:21:46

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

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Какой небольшой! Писать подробную статья в наш Wiki. Со всеми заковыками :)


Black holes were created when the God divided by zero.

Отсутствует

 

№6807-06-2006 12:11:31

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

К концу недели оринтеровочно в пятницу будут подробности... Раньше сложновато.

Отсутствует

 

№6908-06-2006 15:11:35

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Итак, небольшое исследование процесса компиляци FireFox. И описание того как мне удалось скомпилировать cей непокорный тул при помощи MS Visual Studio 2005
Сразу скажу что опыта  именно такой работы у меня практически нет. C cygwin(linux) не работал, с командной строкой не то что не дружу - просто стараюсь обходиться без неё. Посему пользовался помощью знащих людей.

Итак для компиляции firefox под 2005-ую студию вам необходимо следующее:
1. Исходники firefox (Я использовал вот этот firefox-1.5.0.3-source.tar.bz2)
3. Библиотеки moztools (vc8-moztools)
2. Установленная MSVS 2005 есс-но с поддержкой С++
3. Установленный Platform SDK. (Я использовал Windows XP SP2 SDK )
4. Установленный Cygwin. Список packages, которые нужно устанавливать (взято отсюда  http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites):

ash -- UNIX-like command line interpreter shell (Base category)
coreutils -- GNU core utilities (includes fileutils, install, sh-utils, and textutils) (Base category)
cvs -- concurrent versions system (Devel category)
diffutils -- file comparison utility (Base category)
findutils (Base category)
gawk -- pattern matching language (Base and Interpretors categories)
grep -- text search tool (Base category)
libiconv -- character set conversion (Devel category)
make -- dependency analyzer for software builds (Devel category)
patchutils -- a small collection of programs that operate on patch files (Devel category)
perl -- a scripting language used to control parts of the build (Interpreters category)
sed -- a search and replace language (Base category)
tar -- file archiving program (Base category)
X11 -- X Window tools (Install whole X11 category)
unzip -- zip file extraction (Archive category)
upx -- the Ultimate Packer for eXecutables (Utils category)
zip -- zip file creation (Archive category)

5. Главное

Как я понял проблема компиляции заключается в том чтобы в правильной последовательности определить пути к
приложениям, библиотекам и h-файлам. Причём дело осложняется ещё и тем что часть файлов обрабатывается приложениями cygwin и требуют описание путей в стиле unix, другая часть требует описания в стиле DOS. Но главное все переменные я устанавливал внутри cygwin-shell-а. Грубо говоря писал bat-файл в стиле unix. Установку производил через .batch_profile который находиться в cygwin\home\<имя_пользователя>\.batch_profile. Если ваш компутер - компутер домена, то скорее всего ЭТОЙ папки у ВАС не будет. Вам потребуется создать её самостоятельно (при помощи того же cygwin), или же определить  переменные через другой файл (sh-скрипт например). Кроме того знающие люди ооочень рекомендовали использовать ТОЛЬКО КОРОТКИЕ ИМЕНА при установке переменных окружения. Я этому совету следовал. Хотя скоре всего проблемы могут возникнуть из-за пробелов в именах папок, а не из-за длины имени.

Теперь непосредственно скрипт

# C:\MVC – Папка с установленной MS Visual Studio 2005
# C:\PSDK  – Папка с Platform SDK
# C:\projects\vc8-moztools – Библиотеки moztools

export MOZ_TOOLS=`cygpath -a -u С:/projects/vc8-mo~1`
export PATH=/cygdrive/c/mvc/Common7/IDE:/cygdrive/c/mvc/Common7/Tools/Bin:/cygdrive/c/mvc/VC/bin:$PATH
export WIN32_REDIST_DIR="c:\\mvc\\VC\\redist\\x86\\Microsoft.VC80.CRT"

export PATH=$MOZ_TOOLS/bin:$PATH
export PATH=$WIN32_REDIST_DIR:$PATH

export NO_MFC=1
export MOZ_INSTALLER_USE_7ZIP=1

export INCLUDE="c:\\mvc\\vc\\include;c:\\psdk\\include;$INCLUDE"
export LIB="c:\\mvc\\vc\\lib;c:\\PSDK\\lib;$LIB"

6. После того как переменные установленны, в той же сессии cygwin, идём в папку с ff и выполняем:
./configure --disable-activex --disable-activex-scripting --disable-xpconnect-idispatch --disable-accessibility --enable-application=browser (suite, и т.д. в зависимости о того что нужно скомпилять)

7. Если configure отработало нормально запускаем make: make -f makefile.

8. В процессе компиляции получаем косяк с xpidl.exe (он просто вылетает). Вылетает он из-за отсутствия manifest-файла. Находим его в глубинах ff и кидаем его в dist\bin. Настоятельно рекомендую точно также скопировать .manifest файлы для всех остальных exe и dll файлов которые вы найдёте в dist\bin

9. Всё дальше косяков быть не должно. За исключением отсутвия manifest-файла для самого firefox.exe. Можно создать его вручную (по аналогии с xpidl.exe).

Вот вообщем-то и весь алгоритм.
Если кто-нить объяснит как заставить сборщик ff обрабатывать правильно manifest файлы - буду благодарен. А уж если кто-нить напишет DOS-bat файл для компиляции без запуска cygwin явно - будет вообще здорово!

Жду коментариев!

Отредактировано softmax (08-06-2006 15:31:46)

Отсутствует

 

№7008-06-2006 15:25:12

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

X11 -- X Window tools (Install whole X11 category)

Ухъ... как же не хочется ЭТО качать... :( попробую без него, может получится

Попробую в ближайшее время скомпилить... может получится как-нибудь упростить процесс сборки. Уж очень не хочется в cygwin ковыряться... я вобще его воспринимаю как "необходимое зло" ибо лишние зависимости при сборке это очень и очень плохо. В этом плане меня порадовали исходники Miranda IM - там просто проект для VS, не требующий никакого дополнительного ПО.

Отсутствует

 

№7108-06-2006 15:29:59

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

T-Rex
Скорее всего получиться ... Лично я к тому что приведено в ваших доках (cygwin packages). добавил помоему только perl и помоему всё. Список я привёл для ГАРАНТИРОВАННОЙ работоспособности cygwin

Отсутствует

 

№7212-06-2006 16:43:01

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Народ, есть ли у кого-нить представление как "чистый" Gecko - engine работает с Proxy?

Часть настроек я могу установить в defaults\profile\pref.js (на сколько я могу судить), но вот как прописать/передать пароль, который запрашивает сервер при аутентификации?

Отсутствует

 

№7312-06-2006 16:53:10

Syber
Участник
 
Группа: Members
Зарегистрирован: 05-12-2005
Сообщений: 19

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

softmax пишет

Народ, есть ли у кого-нить представление как "чистый" Gecko - engine работает с Proxy?

Часть настроек я могу установить в defaults\profile\pref.js (на сколько я могу судить), но вот как прописать/передать пароль, который запрашивает сервер при аутентификации?

Реализуй nsIPromptService...
И когда будет запрошен пароль для входа - выйдет окошко (которое будет реализовано вами) для ввода пароля и логина.

Отсутствует

 

№7412-06-2006 16:56:13

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Попробую..... Спасибо!
А без окошечка никак? Ну типа прописали где-нить и горя не знаем....

Отсутствует

 

№7512-06-2006 17:19:27

Syber
Участник
 
Группа: Members
Зарегистрирован: 05-12-2005
Сообщений: 19

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

softmax пишет

Попробую..... Спасибо!
А без окошечка никак? Ну типа прописали где-нить и горя не знаем....

Подругому... хм.. ну у мозилы ведь есть пассворд менеджер... если сразу туда вписать.. а так больше не знаю..

Можно конечно и без окон... просто в функцию (которой нужно дать пароль) приходит параметр типа ссылка на ссылку... туда и пишем пароль который нужен. А интерфейс придется реализовать по любэ!

Отсутствует

 

Board footer

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