2011-12-31 1 views
-3

У меня есть файл .dll тест с использованием C# со следующими деталямиКак вызвать метод NPAPI плагин в расширении

Name : TestLibrary.dll 
Namespace name : TestLibrary 
Class Name : AddClass 
Method name : add(accepts two parameters) 
Language used : C# 

Я дал путь Лугин в manifest.json, как показано ниже

plugins : [{"path":"TestLibrary.dll", "public": true}] 

И называется как показано ниже

var result = TestLibrary.AddClass.add(12,34) 

Но это ничего не возвращает мне. Пожалуйста, помогите мне исправить этот код. Please provide me simple NPAPI plugin example with hello world program with NPAPI plugin in any example. I am confused with parameters/details/references need to be provided inside NPAPI plugin

+0

Ваше правление в основном является дубликатом [этого вопроса] (http://stackoverflow.com/questions/2652034/a-simple-hello-world-npapi-plugin-for -Гугл Хром). Вы должны потратить некоторое время на ресурсы, предоставленные там, а затем задать новые конкретные вопросы, если у вас все еще есть проблемы. – smorgan

+0

@smorgan Спасибо за ваш комментарий. И на этот вопрос был дан ответ, когда Google chrome был ребенком, а версии Chrome были изменены. Я задал вопрос для последних образцов кода ... :-) – Exception

+0

NPAPI - это не API для Chrome, это очень стабильный кросс-браузерный API, и как таковой он очень медленно меняет *; версия Chrome не имеет значения. Никаких существенных изменений в NPAPI не произошло с тех вопросов, на которые я указал. Все в ответе на верхний голос по-прежнему является лучшим ответом на ваш вопрос; никакая сумма щедрости не приведет к лучшим ответам. – smorgan

ответ

3

Вы не можете использовать C# для создания плагина NPAPI. Вы должны иметь библиотеку C++, которая экспортирует следующие точки входа:

LIBRARY my_plugin.dll 

EXPORTS 
    NP_GetEntryPoints  @1 
    NP_Initialize   @2 
    NP_Shutdown   @3 

Эти точки входа являются основой для архитектуры NPAPI. Например, обратитесь к следующему ответу A simple hello world NPAPI plugin for Google Chrome

+0

Я видел много ваших ответов в stackoverflow, и я рад, что у вас есть ответ. Я их видел, но они относятся к MDN. Где информация похожа на нахождение соли в морской воде. Надеюсь, вы поможете мне с меньшим количеством объяснений. Пожалуйста помоги мне с этим. Я борюсь за это, чтобы понять. Я не хочу использовать firebreath, потому что я настроен только на Chrome. – Exception

+0

Sol. Первое, что я увидел в вашем вопросе, это то, что вы используете C#, который является неправильным, вам нужно использовать C++ для NPAPI, а указанная выше ссылка - это простой плагин Hello World, который должен работать. Попытайтесь понять, что (там есть ссылка в блоге, которая очень хороша), и запустите мир привет. То, что @smorgan говорит о методах вызова, - это то, что вы обычно должны делать. –

2

Плагины NPAPI не добавляют классы полезности в пространство имен JS, они позволяют создавать элементы <object>/<embed>. Вам нужно создать экземпляр вашего плагина в HTML, а затем вызвать методы для этого элемента плагина.