Страницы: 1
Срочно нужна помощь по следующему вопросу.
При переводе расширения для FF3 установил Gecko 1.9
В результате стала выдаваться ошибка
'NS_NewGenericModule2': identifier not found
Отсутствует
Уточнияю.
Существовало дополнение на основе Gechko 1.8 прекрасно работающее в FF версии до 3. Теперь встала задча пределать его для FF3.
В результате после замены библиотек выдаётся вышеописанная ошибка.
Отсутствует
Существовало дополнение на основе Gechko 1.8 прекрасно работающее в FF версии до 3.
что такое Gechko? Gecko?
Теперь встала задча пределать его для FF3.
переделывайте
В результате после замены библиотек выдаётся вышеописанная ошибка.
замены каких библиотек? где?
Gecko 1.8 уже включен в Firefox 2.0, Gecko 1.9 - в Firefox 3.0
Отсутствует
Дополнение написано на С++ и является тулбаром. Для этого используётся конструкции из Gecko 1.8. Но с Gecko 1.9 проект не собирается. Выдаётся вышеописанная ошибка. Хотя в принципе NS_NewGenericModule2 - внутреняя функция в gechko. В проекте используется макрос NS_IMPL_NSGETMODULE - на него и указывает ошибка.
#include "StdAfx.h"
#include "nsigenericfactory.h"
#include "nsHandyPassword.h"
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHandyPassword)
static nsModuleComponentInfo components[] =
{
{
HANDYPASSWORD_CLASSNAME,
HANDYPASSWORD_CID,
HANDYPASSWORD_CONTRACTID,
nsHandyPasswordConstructor
}
};
NS_IMPL_NSGETMODULE("nsHandyPassworModule", components)
Добавлено 10-10-2008 07:35:55
Также прилинковал следующие библиотеки:
plds4.lib
plc4.lib
xpcomglue_s.lib
xpcom.lib
nspr4.lib
Отсутствует
После установки препроцессору XPCOM_GLUE 1 как указано в
http://developer.mozilla.org/en/XPCOM_Glue
стали выдаваться следующие ошибки:
error LNK2001: unresolved external symbol "public: void __thiscall nsCOMPtr_base::assign_from_qi(class nsQueryInterface,struct nsID const &)" (?assign_from_qi@nsCOMPtr_base@@QAEXVnsQueryInterface@@ABUnsID@@@Z)
error LNK2019: unresolved external symbol "public: void __thiscall nsCOMPtr_base::assign_from_qi(class nsQueryInterface,struct nsID const &)" (?assign_from_qi@nsCOMPtr_base@@QAEXVnsQueryInterface@@ABUnsID@@@Z) referenced in function "public: __thiscall nsCOMPtr<class nsIDOMNode>::nsCOMPtr<class nsIDOMNode>(class nsQueryInterface)" (??0?$nsCOMPtr@VnsIDOMNode@@@@QAE@VnsQueryInterface@@@Z)
error LNK2001: unresolved external symbol "public: void __thiscall nsCOMPtr_base::assign_from_qi(class nsQueryInterface,struct nsID const &)" (?assign_from_qi@nsCOMPtr_base@@QAEXVnsQueryInterface@@ABUnsID@@@Z)
error LNK2001: unresolved external symbol "public: void __thiscall nsCOMPtr_base::assign_from_qi(class nsQueryInterface,struct nsID const &)" (?assign_from_qi@nsCOMPtr_base@@QAEXVnsQueryInterface@@ABUnsID@@@Z)
error LNK2001: unresolved external symbol "public: void __thiscall nsCOMPtr_base::assign_from_qi(class nsQueryInterface,struct nsID const &)" (?assign_from_qi@nsCOMPtr_base@@QAEXVnsQueryInterface@@ABUnsID@@@Z)
error LNK2019: unresolved external symbol "public: wchar_t const * __thiscall nsAString::BeginReading(void)const " (?BeginReading@nsAString@@QBEPB_WXZ) referenced in function "public: wchar_t const * __thiscall nsString_external::get(void)const " (?get@nsString_external@@QBEPB_WXZ)
error LNK2001: unresolved external symbol "public: wchar_t const * __thiscall nsAString::BeginReading(void)const " (?BeginReading@nsAString@@QBEPB_WXZ)
error LNK2019: unresolved external symbol "public: void __thiscall nsCOMPtr_base::assign_with_AddRef(class nsISupports *)" (?assign_with_AddRef@nsCOMPtr_base@@QAEXPAVnsISupports@@@Z) referenced in function "public: class nsCOMPtr<class nsIDOMHTMLCollection> & __thiscall nsCOMPtr<class nsIDOMHTMLCollection>::operator=(class nsCOMPtr<class nsIDOMHTMLCollection> const &)" (??4?$nsCOMPtr@VnsIDOMHTMLCollection@@@@QAEAAV0@ABV0@@Z)
error LNK2001: unresolved external symbol "public: void __thiscall nsCOMPtr_base::assign_with_AddRef(class nsISupports *)" (?assign_with_AddRef@nsCOMPtr_base@@QAEXPAVnsISupports@@@Z)
nsSmartFiller.obj : error LNK2001: unresolved external symbol "public: void __thiscall nsCOMPtr_base::assign_with_AddRef(class nsISupports *)" (?assign_with_AddRef@nsCOMPtr_base@@QAEXPAVnsISupports@@@Z)
error LNK2001: unresolved external symbol "public: void __thiscall nsCOMPtr_base::assign_with_AddRef(class nsISupports *)" (?assign_with_AddRef@nsCOMPtr_base@@QAEXPAVnsISupports@@@Z)
error LNK2019: unresolved external symbol "unsigned int __cdecl NS_TableDrivenQI(void *,struct QITableEntry const *,struct nsID const &,void * *)" (?NS_TableDrivenQI@@YAIPAXPBUQITableEntry@@ABUnsID@@PAPAX@Z) referenced in function "public: virtual unsigned int __stdcall nsHandyPassword::QueryInterface(struct nsID const &,void * *)" (?QueryInterface@nsHandyPassword@@UAGIABUnsID@@PAPAX@Z)
error LNK2019: unresolved external symbol "unsigned int __cdecl NS_NewGenericModule2(struct nsModuleInfo const *,class nsIModule * *)" (?NS_NewGenericModule2@@YAIPBUnsModuleInfo@@PAPAVnsIModule@@@Z) referenced in function _NSGetModule
Отсутствует
Проблема решена.
Нужно было препроцессору установить:
XPCOM_GLUE_USE_NSPR
MOZILLA_STRICT_API
XP_WIN
XP_WIN32
Добавлено 10-10-2008 14:29:22
Только в FireFox не хочет регистрироваться.
Выдаёт:
«Моё расширение» не будет установлен, так как он не обеспечивает безопасные обновления
Добавлено 10-10-2008 14:30:35
Я впринципе расчитывал что достаточно перекомпилировать с Gecko 1.9
Отсутствует
Проблема решена.
Нужно было препроцессору установить:
XPCOM_GLUE_USE_NSPR
MOZILLA_STRICT_API
XP_WIN
XP_WIN32Добавлено 10-10-2008 14:29:22
Только в FireFox не хочет регистрироваться.
Выдаёт:
«Моё расширение» не будет установлен, так как он не обеспечивает безопасные обновления
Тут об этом:
http://developer.mozilla.org/en/Extension_Versioning%2c_Update_and_Compatibility#Securing_Updates
Коротко говоря, теперь в updateURL должен использоваться https, или можно сделать хэш-подпись...
Отсутствует
Сообщение в кщнсоли FireFox 3.0.3
Ошибка: [Exception... "Component returned failure code: 0x80570018 (NS_ERROR_XPC_BAD_IID) [nsIJSCID.getService]" nsresult: "0x80570018 (NS_ERROR_XPC_BAD_IID)" location: "JS frame :: chrome://handypassword/content/handypassword.js :: InitHPFiller :: line 1199" data: no]
Источник: chrome://handypassword/content/handypassword.js
Строка: 1199
Может кто в курсе что за ошибка и как с ней бороться.
Заранее спасибо!
Добавлено 14-10-2008 13:35:28
Что характерно, в FF2 такой ошибки не возникает
Отсутствует
Собственно вот код, где возникает ошибка:
const accServiceID = '@mozilla.org/accessibilityService;1';
const accServiceIF = Components.interfaces.nsIAccessibilityService;
const accService = Components.classes[accServiceID].getService(accServiceIF); - кокретно указывает на эту строку
var acc = accService.getAccessibleFor(window.content.document);
var dom_window = acc.QueryInterface(Components.interfaces.nsIAccessibleDocument);
Отсутствует
Перепробовал всё - ничего не помогает !!!
Может это глюк самого FireFox?
Отсутствует
попробовал такой вариант
var Service = Components.classesByID["{DE401C37-9A7F-4278-A6F8-3DE2833989EF}"];
таже самая ошибка, хотя DE401C37-9A7F-4278-A6F8-3DE2833989EF указано в самом nsIAccessibilityService.h
Отсутствует
Проблема решена.
Дело в том, что nsIAccessibilityService больше не является scriptable, вместо него следует использовать nsIAccessibleRetrieval.
Отсутствует
Уважаемый Яковчук!
Удалось ли таким образом решить проблему в nsAString::BeginReading?
У меня не решается. Сравнил заголовочные файлы для работы со строками в версиях 1.9.0.3 и 1.8.0.4. Выяснил, что раньше BeginReading была inline . Скопировал реализацию в новую версию nsStringAPI.h и все собралось и даже правильно работает. Но что-то мне подсказывает, что это нечестный способ.
Кстати для работы всего остального достаточно двух макросов XP_WIN и XP_WIN32, а также только трех lib'ок (nspr4, xpcom, xpcomglue_s). Ну это для того, чтобы разрешить все Ваши unresolved ссылки (может, кроме nsHandyPassword - про него ничего не знаю).
Отсутствует
Страницы: 1