我以模态形式实例化了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;
}
答案 0 :(得分:0)
遇到的问题是由于绑定对象的事件处理程序在包含cef浏览器的表单关闭时未释放。在表单的后续启动中,绑定的对象将再次获得事件处理程序的分配,并导致出现问题。这不是cef的问题,而是我使用的绑定对象。