绑定对象未释放

时间:2019-05-29 05:30:56

标签: cefsharp chromium-embedded

我以模态形式实例化了ChromiumWebbrowser,然后通过JavascriptObjectRepository.Register方法绑定了一个对象。在关闭表单并重新打开新的模式表单并在绑定对象上调用方法后,我注意到绑定对象的方法正在逐步调用。因此,在打开模态,关闭然后重新打开模态后,绑定对象的方法将被调用两次,并在随后的打开/关闭循环中增加此计数。

如何从CEF中释放绑定对象。

我试图检测对象是否已经绑定(使用IsBound),但是它返回false,但是随着窗体的打开/关闭,它仍然以增量方式执行该方法。

#include <iostream>

const int N1 = 481, N2 = 2000;

using std::cout; using std::endl;

void evolve(double* lista, double* listb){
    int ha = 10; ha++;
    cout << 88 << endl;
}

int main(int argc, char** argv){

    double list1[N1 * N2], list2[N1 * N2];
    evolve(list1, list2);
    cout << "End." << endl;
    return 0;
}

1 个答案:

答案 0 :(得分:0)

遇到的问题是由于绑定对象的事件处理程序在包含cef浏览器的表单关闭时未释放。在表单的后续启动中,绑定的对象将再次获得事件处理程序的分配,并导致出现问题。这不是cef的问题,而是我使用的绑定对象。