论坛's Archiver

haihua_880 发表于 2009-3-31 11:06

跨平台Flash Host开发,调用NPClass的LoadMovie失败

我正在写一个跨平台的Flash播放器,但在载入和播放一个Flash文件时即调用NPClass的Invoke函数是总是返回False,有经验的大侠请指点一点。

首先我调用ret = m_NPPluginFunc.newp((NPMIMEType)"application/x-shockwave-flash",
  m_npp,
  NP_EMBED,
  argc,
  argn,
  argv,
  NULL);
得到NPP对象,
然后调用ret = m_NPPluginFunc.getvalue(m_npp, NPPVpluginScriptableNPObject, (void *) &m_obj);得到NPObject的对象。
第三步,调用ret = m_NPPluginFunc.setwindow(m_npp, &m_npWin);其中m_npWin的window变量赋值一个窗口句柄(handle),而并非一个HDC,
但接下来,我通过获得的NPObject对象调用invoke函数时总是返回FALSE,其中传递的NPIdentifier的值是LoadMovie和Play.
间接调用代码如下:
NPVariant var[2];// = new NPVariant[2];
var[0].type = NPVariantType_Int32;
var[0].value.intValue = 0;

STRINGZ_TO_NPVARIANT("D:\\clock163.swf", var[1]);
NPVariant result;
Invoke("LoadMovie", var, 2, &result);

我不知道如何跟踪,怎么才能找到错误的原因呢?

页: [1]

© 2004-2009 Mozest.com