按照几位前辈的博客,自己弄出来一个相当于helloword的NPAPI插件,但是要开发一个稍微复杂点的的程序,似乎就很难找。
按照helloword的模板,先做好一个插件能在浏览器中使用,关于自己要实现的功能具体 写法如下:
首先,在你的ScriptableObject头文件里面声明方法或者属性
NPIdentifier m_funInit;
NPIdentifier m_fTestFun;
NPIdentifier m_funUnInit;
然后在构造函数中
m_funInit = NPN_GetStringIdentifier("Init");
m_fTestFun = NPN_GetStringIdentifier("TestFun");
m_funUnInit = NPN_GetStringIdentifier("UnInit");
其中(“Init”)就是说你在外部调用对象比如 object.Init,那么它传进来就去找第一个,找到了m_funInit;
最后在hasmethod(NPIdentifier methodName)里面
if(methodName==m_funInit)
{
在这里可以直接写处理过程,也能调用类对象。
如果要传递插件对象可以在头文件上声明CPlugin,然后在构造函数里,用m_pPlugin = (CPlugin*)npp->pdata;
就不会创建另一个实例了。
}