【问题标题】:Error calling method on NPObject! in JavaScript在 NPObject 上调用方法时出错!在 JavaScript 中
【发布时间】:2011-12-30 14:44:14
【问题描述】:

我有一些想要使用 PortAudio 打开流的 Visual C++ 代码 (FireBreath)。完成所有初始操作后,我有以下代码:

err = Pa_OpenStream( &stream, &parametriIngresso, &parametriUscita, SAMPLE_RATE, FRAMES_PER_BUFFER, 0, My_Callback, &myData);
err = Pa_StartStream(stream);

while( ( err = Pa_IsStreamActive( stream ) ) == 1 )
    {
        Pa_Sleep(1000);
    }

err = Pa_CloseStream(stream);

这个函数是从 JavaScript 调用的,在一定秒数后,插件崩溃了,在 JavaScript 中调用它的那行给我一个Error calling method on NPObject! 错误。

【问题讨论】:

    标签: javascript plugins firebreath portaudio


    【解决方案1】:

    在 NPObject 上调用方法出错!是当 anything 出错时您在大多数当前浏览器上遇到的错误。您曾经能够从 NPAPI 插件(如 firebreath 插件)发送异常文本,但最近所有浏览器都停止正确传递此内容。

    无论如何,这样做的结果是,所有错误消息都可以肯定地告诉您,您的插件出了问题;如果插件实际崩溃,则错误消息“错误调用 NPObject 上的方法!”与实际崩溃无关,而只是表示“我们试图在崩溃的插件上调用某些东西”。附加调试器并找出导致崩溃的原因,您将更接近找出实际发生的情况。

    【讨论】:

    • 如何在 Visual Studio 2010 中附加调试器?
    【解决方案2】:

    这是线程的问题。 线程主体忙于插件的更多时间,并且由于 Javascript 是单线程的,它会崩溃。 解决方案是创建新线程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-25
      相关资源
      最近更新 更多