Добрый день всем,
Требуется написать плагин который будет вызывать пару методов из дллки msnetobj.dll , возможно ли это реализовать в плагине и каким путем ? Я не требую писать за меня код , подойдет и ссылка на ман если он имеется ) Заранее благодарен за помощь.

Первое, что приходит в голову, написать XPCOM компоненту (dll), которая и будет вызывать эти методы ... Насчет javascript сомневаюсь, что это возможно ...
В инете всего один источник, в ктором подробно и толково написано, как создавать XPCOM:
http://www.iosart.com/firefox/xpcom/

Благодарю за совет, я уже пошел тем же путем и написал компоненту, осталось только разобраться с работой со строками, т.к нужно вернуть строку, но пока работа с ними несколько ставит меня в тупик :\

Благодарю за совет, я уже пошел тем же путем и написал компоненту, осталось только разобраться с работой со строками, т.к нужно вернуть строку, но пока работа с ними несколько ставит меня в тупик :\

Может, стоит поконкретнее описать проблему? Авось кто-нибудь да поможет :)

Интереснее самому ковыряться :P Но если кратко, то возвращается только один символ из строки , если передавать указатель , то не возвращается вообще ничего:
NS_NAMED_LITERAL_STRING(_retval, "src");
допустим такой вариант возваращет только первый символ ...

Там такая забавная канитель может получиться с преобразованием nsEmbedString в nsEmbedCString ... :)

Да уж , забавная не то слово )
NS_UTF16ToCString(nsEmbedString(pvRet.bstrVal),
                    NS_CSTRING_ENCODING_UTF8,
                    _retval);
Такой вариант вызывает крэш браузера ) _retval объявлен как nsACString & ... Не могу пока понять в чем собственно трабл.

Странно ... У меня такой вот код нормально работает:

Выделить код

Код:

nsEmbedCString strOut;
NS_UTF16ToCString(	nsEmbedString(strIn), 
				  	NS_CSTRING_ENCODING_UTF8, 
				  	strOut);

при этом strIn это nsEmbedString.
Может, не нужно _retval объялять как ссылку?

Можно _retval объявить и по-другому эффект сохраняется , пробовал и такой вариант :
CString str = pvRet.bstrVal;
_retval = str;

последствия собственно те же ... pvRet.bstrVal имеет тип BSTR , врядли с ним вообще должны возникать такие проблемы. Возможно ли падение из-за длины строки ? У меня там порядка 19 тысяч символов )

Думаю, длина строки значения не имеет. Я у себя туда копировал весь текст HTML страницы, причем проверял на очень большиx (мегабайта полтора - текстовая страница, так что это уже миллионы символов).

Пробовали не использовать CString? Может быть обычный std::string поможет?

Пробовал , не помог ...

Трабл был решен скачиванием последней версии SDK )

Все гениальное просто ... как всегда ... :)