Думаю следует начать с опровержения заблуждений относительно указанных технологий:COM/DCOM/XPCOM
Проблема с версией cygwin. Сейчас точно не помню в чём именно. Постраюсь глянуть в понедельник на работе. Если ещё актуально конечно.
Как ни странно проблема решилась ... Не завидую тем кто будет создавать Embeded аппликацию которой нужно будет работать через proxy.
Уважаемый All столкнулся с такое проблемкой - если выкачивать документ используя только сетевые сервисы (через NS_OpenURL()), то диалог аутентификации вызывается. В случае если сделать это используя Gecko, то диалога нет.... Кто-нить сталкивался с подобной ерундой?
Ещё скажите кто-нить честно!!!! Работает ли у вас Autentifiкация на Proxy??? MfcEmbed не открывает Диалога .... Где можно ввести Login/Password
И ещё вопросик - есть ли у кого - нибудь работающий MFCEmbed
Всем привет!
Есть вопросик! Кто-нибудь компилял embedding/activex/control/Master.dsw? Компиляется? Можно получить ActiveX компоненту?
Прошу воспринимать не как брюзжание - а в порядке здоровой критики
Не буду тут приводить описание, но пример: 2 РАЗНЫХ класса юзают один cpp и 2 h-файла - не думаю что это есть good! (Причём один из классов managed а другой unmanaged). Зачем? Перлы вот такие:
NS_IMETHODIMP WebBrowserChrome::SetStatus(PRUint32 aType, const PRUnichar* aStatus) { return NS_OK; }
я вообще молчу! Чехарда со скобками продолжается и в mfcembed. Неужели так удобно писать?
Конечно может я и привык к интуитивно понятному написанию исходников в Java или C# - но не думаю что на С++ пишут неряхи! Неужели трудно договориться об ОДИНАКОВОМ оформлении того что пишется. Просто наболело!
Немного не по теме - но разбираюсь с исходниками .NET библиотеки (которая DotNetEmbed) - понимаю что Open Source - это куча отрицательных сторон ... Гордая mozilla вместе с ff содержит в себе пример абсолютно безалаберного отношения к написанию программ. Да, конечно хорошо что DotNetEmebed есть, но я не вижу больших проблем в том чтобы привести код в какой-либо благородный вид перед тем как это выкладывать ... Мне бы например было бы стыдно!
Странно подключил nsIPromptService... Часть ф-ций работает - часть нет.
Скажем Alert вызывается корректно... А вот запрос на Proxy Autentification - нет! В чём может быть причина?
Может нужно ещё что-нить чтоб работать через proxy?
Syber
Здорово спасибо!!!
Ещё тебя потревожу ... Вот все эти nsIXxxxxX как я понял НЕ РЕАЛИЗОВАНЫ самим Gecko - engine? Где-то на mozilla.org проскакивала инфа, что реализация этих самых интерфесов необходима если я скажем хочу поменять их СТАНДАРТНУЮ имплементацию, или всё же я прав - и всё необходимо реализовывать вручную.
А надо ли как-то отдельно регистрировать объект имплементирующий nsIPromptService? Или можно обойтись без этого? В доке как-то странно описано регистрация nsIXXXX... сервисов. Как мне его зарегистрировать. И ещё - где моя аппликация должна хранить настройки для proxy?
Попробую..... Спасибо!
А без окошечка никак? Ну типа прописали где-нить и горя не знаем....
Народ, есть ли у кого-нить представление как "чистый" Gecko - engine работает с Proxy?
Часть настроек я могу установить в defaults\profile\pref.js (на сколько я могу судить), но вот как прописать/передать пароль, который запрашивает сервер при аутентификации?
T-Rex
Скорее всего получиться ... Лично я к тому что приведено в ваших доках (cygwin packages). добавил помоему только perl и помоему всё. Список я привёл для ГАРАНТИРОВАННОЙ работоспособности cygwin
Итак, небольшое исследование процесса компиляци 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)
К концу недели оринтеровочно в пятницу будут подробности... Раньше сложновато.
Всё!!! DotNetEmbed под NET 2.0 покорён! Удалось получить 100% рабочий код.
T-Rex
Честно говоря установил....
Я сейчас подымаю 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
Я так полагаю что firefox.exe имеющий 135 К - одназначно показатель динамической сборки
Пошаговая инструкция - постараюсь в ближайшее время ...
Основня проблема - валился xpidl - для него просто скопировать xpidl.exe.manifest в то место откуда он вызывается!
Удалось скомпиляь FireFox под 2005-ую студию. Если интересуют подробности постараюсь выложить в ближайшее время!
Кстати сделал сравнение ActiveX компонент IE и Mozilla, в целом резулльтаты сопоставимые, как по памяти так и по скорости работы. в среднем мозилла еслт больше на 2-4 Мб.