我有一个插件,其内容流从外部服务推送到它,然后我将其绘制到PluginWindowlessWin。
我维护对PluginWindowlessWin对象的引用,以便在新内容到达时调用Invalidate()。但是,在某些情况下(例如,从页面中删除插件对象),删除PluginWindowlessWin对象而不通知我的插件。因此,我最终在错误的指针上调用Invalidate()并崩溃。
如何继续通知浏览器更新,以便它继续发送刷新事件 - 通过Invalidate()调用或其他方式 - 而不依赖于可能被静默删除的对象?
答案 0 :(得分:1)
使用无窗口插件时,除了浏览器请求时,您无法绘制。听起来你有那个部分。您可以通过在PluginWindowlessWin上调用InvalidateWindow来要求浏览器请求绘图。
在您的插件上调用AttachedEvent后,PluginWindowlessWin将可用;如果需要,您甚至可以保存参考。但是,您需要在调用DetachedEvent时释放它。