我创建了隐藏的IWebBrowser2对象,它可以正常工作,但几秒钟后,我想将可见性更改为true,然后我的应用程序崩溃。
pBrowser2->put_Visible(VARIANT_TRUE);我做错什么了?
发布于 2014-06-04 21:00:48
在发布pBrowser2之后,您将使用它。
你有:
pBrowser2->Release(); // pBrowser NOW INVALID!!!
srand( time( NULL ) );
//Sleep( ( std::rand() % 5000 ) + 5000 );
if(std::rand() % 100 <= chance ){
pBrowser2->put_Visible(VARIANT_TRUE); // instant crash here!
}在使用完它之后,将调用移动到COM (),或者使用一个智能指针,这样您就不必自己管理它了。最简单的解决办法:
srand( time( NULL ) );
//Sleep( ( std::rand() % 5000 ) + 5000 );
if(std::rand() % 100 <= chance ){
pBrowser2->put_Visible(VARIANT_TRUE); // works
}
pBrowser2->Release(); // pBrowser NOW INVALID!!!https://stackoverflow.com/questions/24042734
复制相似问题