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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№7613-06-2006 12:43:10

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

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

А надо ли как-то отдельно регистрировать объект имплементирующий nsIPromptService? Или можно обойтись без этого? В доке как-то странно описано регистрация nsIXXXX... сервисов. Как мне его зарегистрировать. И ещё - где моя аппликация должна хранить настройки для proxy?

Отредактировано softmax (13-06-2006 12:44:44)

Отсутствует

 

№7713-06-2006 13:55:31

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

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

softmax пишет

А надо ли как-то отдельно регистрировать объект имплементирующий nsIPromptService? Или можно обойтись без этого? В доке как-то странно описано регистрация nsIXXXX... сервисов. Как мне его зарегистрировать. И ещё - где моя аппликация должна хранить настройки для proxy?

Конечно нада регистрировать...
делается это так:

Выделить код

Код:

nsCOMPtr<nsIFactory> promptFactory;
	rv = NS_NewPromptServiceFactory(getter_AddRefs(promptFactory), this); //MakeFactory(getter_AddRefs(promptFactory));
	pPrompt = promptFactory;
	rv = nsComponentManager::RegisterFactory(kPromptServiceCID,
		"Prompt Service",
		"@mozilla.org/embedcomp/prompt-service;1",
		promptFactory,
		PR_TRUE);

а что это (NS_NewPromptServiceFactory) за ф-ия, смотри файл mozilla\embedding\browser\activex\src\control\PromptService.cpp и хидер....

смотри сэмплы.. там есть ответы на твои вопросы (правда иногда.. :))

а прокси хнаниться в настройках пользователя... иными словами делай следующее:
go to about:config
filter: proxy
и обязательно не забудь выставить proxy type (network.proxy.type)....

ааа так тебе программно это нужно ставить...
тада смотри интерфейс nsIPref

Выделить код

Код:

nsCOMPtr<nsIPref> prefs(do_GetService(NS_PREF_CONTRACTID, &rv));
rv = prefs->SetCharPref(_T("browser.startup.homepage"), m_bStartHome);

Отсутствует

 

№7813-06-2006 14:00:54

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

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

Syber
Здорово спасибо!!!

Ещё тебя потревожу ... Вот все эти nsIXxxxxX как я понял НЕ РЕАЛИЗОВАНЫ самим Gecko - engine? Где-то на mozilla.org  проскакивала инфа, что реализация этих самых интерфесов необходима если я скажем хочу поменять их СТАНДАРТНУЮ имплементацию, или всё же я прав - и всё необходимо реализовывать вручную.

Отредактировано softmax (13-06-2006 14:01:57)

Отсутствует

 

№7913-06-2006 14:26:32

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

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

softmax пишет

Syber
Здорово спасибо!!!

Ещё тебя потревожу ... Вот все эти nsIXxxxxX как я понял НЕ РЕАЛИЗОВАНЫ самим Gecko - engine? Где-то на mozilla.org  проскакивала инфа, что реализация этих самых интерфесов необходима если я скажем хочу поменять их СТАНДАРТНУЮ имплементацию, или всё же я прав - и всё необходимо реализовывать вручную.

что то реализовано, что то нет!
что то читал последнее предложение несколько раз - так и не въехал в него... но вроде суть его уловил (наверное уже устал от работы :)). по любому чтобы вызвать что то стандартное, к примеру менеджер закачек, нужно реализовать как минимум некоторый интерфейс (в данном случае nsIHelperAppLauncherDialog).
Честно говорят не пойму зачем тебе такая информация.... есть задача - есть решение!

Отсутствует

 

№8014-06-2006 13:56:50

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

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

Странно подключил nsIPromptService... Часть ф-ций работает - часть нет.
Скажем Alert вызывается корректно... А вот запрос на Proxy Autentification - нет! В чём может быть причина?
Может нужно ещё что-нить чтоб работать через proxy?

Отредактировано softmax (14-06-2006 14:45:12)

Отсутствует

 

№8114-06-2006 14:56:54

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

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

softmax пишет

Странно подключил nsIPromptService... Часть ф-ций работает - часть нет.
Скажем Alert вызывается корректно... А вот запрос на Proxy Autentification - нет! В чём может быть причина?
Может нужно ещё что-нить чтоб proxy работать через proxy?

хм.. даже не знаю что и сказать...
мне кажется должно работать - другого способа я не знаю :(
В любом случае если справишься с проблемой обязательно отпиши!

Отсутствует

 

№8214-06-2006 15:59:24

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

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

Немного не по теме - но разбираюсь с исходниками .NET библиотеки (которая DotNetEmbed) - понимаю что Open Source - это куча отрицательных сторон ... Гордая mozilla вместе с ff содержит в себе пример абсолютно безалаберного отношения к написанию программ. Да, конечно хорошо что DotNetEmebed есть, но я не вижу больших проблем в том чтобы привести код в какой-либо благородный вид перед тем как это выкладывать ... Мне бы например было бы стыдно!

Отредактировано softmax (14-06-2006 16:19:27)

Отсутствует

 

№8314-06-2006 16:28:03

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

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

softmax пишет

Немного не по теме - но разбираюсь с исходниками .NET библиотеки (которая DotNetEmbed) - понимаю что Open Source - это куча отрицательных сторон ... Гордая mozilla вместе с ff содержит в себе пример абсолютно безалаберного отношения к написание программ. Да, конечно хорошо что DotNetEmebed есть, но я не вижу больших проблем в том чтобы привести код в кай-либо благородный вид перед тем как это выкладывать ... Мне бы например было бы стыдно!

Атнюдь! :)
Это все потому - что mozilla портируется (linux\win\mac).
Я не думаю что проект operа выглядит лучше - имхо даже хуже...
Код в мозила выглядит оч. хорошо, а вам softmax что не нравиться?
Другое дело чего оч. не хватает для мозилы так это MZDN (MoZilla Developers Network), другими словами нехватает хорошего справочника!!!

Отсутствует

 

№8414-06-2006 16:52:50

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

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

Не буду тут приводить описание, но пример: 2 РАЗНЫХ класса юзают один cpp и 2  h-файла - не думаю что это есть  good! (Причём один из классов managed а другой unmanaged).   Зачем? Перлы вот такие:

Выделить код

Код:

NS_IMETHODIMP 
WebBrowserChrome::SetStatus(PRUint32 aType, const PRUnichar* aStatus) {
  return NS_OK;
}

я вообще молчу! Чехарда со скобками продолжается и в mfcembed. Неужели так удобно писать?
Конечно может я и привык к интуитивно понятному написанию исходников в Java или C# - но не думаю что на С++ пишут неряхи! Неужели трудно договориться об ОДИНАКОВОМ оформлении того что пишется. Просто наболело!

Отсутствует

 

№8514-06-2006 17:31:48

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

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

Прошу воспринимать не как брюзжание - а в порядке здоровой критики

Отсутствует

 

№8614-06-2006 17:41:17

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

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

2 cpp файла юзают один header файл - оч. удобно, а особенно в mozille. (мне нравиться - респект!)
Со скобками... нуу может быть и есть - мне пофиг!
Самое что мне не нравиться в исходниках так это горизонтальный скрол (просто ненавижу!!!)

Отсутствует

 

№8704-07-2006 11:45:28

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

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

Всем привет!
Есть вопросик! Кто-нибудь компилял embedding/activex/control/Master.dsw? Компиляется? Можно получить ActiveX компоненту?

Отсутствует

 

№8804-07-2006 12:35:23

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

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

И ещё вопросик - есть ли у кого - нибудь работающий MFCEmbed

Отсутствует

 

№8904-07-2006 14:26:47

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

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

Ещё скажите кто-нить честно!!!! Работает ли у вас Autentifiкация на Proxy??? MfcEmbed не открывает Диалога .... Где можно ввести Login/Password

Отсутствует

 

№9028-07-2006 19:09:26

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

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

Уважаемый All столкнулся с такое проблемкой - если выкачивать документ используя только сетевые сервисы (через NS_OpenURL()), то диалог аутентификации вызывается. В случае если сделать это используя Gecko, то диалога нет.... Кто-нить сталкивался с подобной ерундой?

Отсутствует

 

№9108-08-2006 21:10:27

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

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

Как ни странно проблема решилась ... Не завидую тем кто будет создавать Embeded аппликацию которой нужно будет работать через proxy.

Отсутствует

 

№9202-09-2006 23:26:58

_RuS_
Участник
 
Группа: Members
Зарегистрирован: 02-09-2006
Сообщений: 1

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

Раньше использовал Mozilla ActiveX Control. Решил посмотеть на mfcEmbed. Ничего не понимаю... Стоит VS2003, и т.п... делаю как описано в WIKI. Единственная разница это Platform SDK for Windows Server 2003 R2. Пытаюсь собрать 1.8b ради работающего mfcEmbed получаю:

Выделить код

Код:

make[5]: Entering directory '/cygdrive/c/mozilla/directory/c-sdk/ldap/include'
Makefile:74: *** target pattern contains no '%'. Stop.
make[5]: Leaving directory '/cygdrive/c/mozilla/directory/c-sdk/ldap/include'
make[4]: *** [export] Error 2

...

make: *** [build] Error 2

Подскажите please как этого избежать или может у кого есть рабочии исходники с которых можно собрать mfcEmbed из VS2003

Отсутствует

 

№9327-09-2006 16:36:34

Flyer
Участник
 
Группа: Members
Зарегистрирован: 27-09-2006
Сообщений: 1

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

_RuS_ пишет

Раньше использовал Mozilla ActiveX Control. Решил посмотеть на mfcEmbed. Ничего не понимаю... Стоит VS2003, и т.п... делаю как описано в WIKI. Единственная разница это Platform SDK for Windows Server 2003 R2. Пытаюсь собрать 1.8b ради работающего mfcEmbed получаю:

Выделить код

Код:

make[5]: Entering directory '/cygdrive/c/mozilla/directory/c-sdk/ldap/include'
Makefile:74: *** target pattern contains no '%'. Stop.
make[5]: Leaving directory '/cygdrive/c/mozilla/directory/c-sdk/ldap/include'
make[4]: *** [export] Error 2

...

make: *** [build] Error 2

Подскажите please как этого избежать или может у кого есть рабочии исходники с которых можно собрать mfcEmbed из VS2003

:angry: У меня та же проблема. Как победить пока не знаю. Правда возникает она только если компилять --enable-application=suite, если --enable-application=browser, то этот ldap не компилируется и этой ошибки нет. Зато валится при сборке widget - куча unresolved externals: не нравится чем-то nsString :usch:
Был бы тоже признателен, если кто подскажет в чем проблема.

Отсутствует

 

№9404-02-2007 16:20:12

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

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

Проблема с версией cygwin. Сейчас точно не помню в чём именно. Постраюсь глянуть в понедельник на работе. Если ещё актуально конечно.

Отредактировано softmax (04-02-2007 16:20:56)

Отсутствует

 

№9505-02-2007 02:36:22

LRN
Участник
 
Группа: Members
Зарегистрирован: 05-02-2007
Сообщений: 3
UA: Opera 9.1

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

Пишу на C. Использую MSVS 2005. Знаю азы C++, но не использую (ибо пишу на C). Полагаю, что COM/DCOM/XPCOM - это такие порты ввода/вывода на PC. Хочу сделать приложение под Win32 (для начала), которое бы показывало окно без всего (для начала), в котором бы рендерились web-страницы. Т.е. embed'нуть gecko.
Вопрос: для меня всё кончено (нужно идти убивать себя головой об стену, либо учиться объектному программированию), или ещё есть надежда?
IE не предлагать.
ActiveX не предлагать.
GtkMozEmbed предлагать только вместе с готовым работающим билдом GtkMozEmbed.

P.S. Чисто академический интерес: при билде MZ/FF обязательно пользоваться cygwin'ом? Может, msys подойдёт?

Отсутствует

 

№9605-02-2007 18:28:30

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

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

нужно идти убивать себя головой об стену, либо учиться объектному программированию

Я так думаю, что не обязательно. Но со специализированными C-макросами из исходников mozilla придётся разбираться в любом случае.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№9706-02-2007 00:56:23

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

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

Думаю следует начать с опровержения заблуждений относительно указанных технологий:COM/DCOM/XPCOM

Отсутствует

 

№9808-02-2007 14:37:37

LRN
Участник
 
Группа: Members
Зарегистрирован: 05-02-2007
Сообщений: 3
UA: Opera 9.2

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

Если можно писать XPCOM-компоненты на C, значит можно и эмбедить на C! Как-то. Ну, это чисто для справки, т.к. ВЫ, как я понял, мне помочь не в силах.
C-макросы действительно есть, но все объекты, используемые при эмбеддинге, написаны на C++. Но я не отчаиваюсь...

Отсутствует

 

№9916-02-2007 03:22:23

LRN
Участник
 
Группа: Members
Зарегистрирован: 05-02-2007
Сообщений: 3
UA: Opera 9.2

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

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

Отредактировано LRN (16-02-2007 03:23:20)

Отсутствует

 

№10009-06-2007 13:27:45

_ManiaC_
Участник
 
Группа: Members
Зарегистрирован: 09-06-2007
Сообщений: 2
UA: Firefox 2.0

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

LRN А можно архивы тут где-нибудь выложить, а то они с сайта все битые скачиваются :((

Отсутствует

 

Board footer

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