IPersistStorage阻止在IE11中呈现activex

时间:2015-02-11 19:25:36

标签: com activex internet-explorer-11 com-interop atl

我有一个ATL activeX对象,它包含IPersistStorage接口的默认实现。 activeX在IE 8/9/10中运行良好。但是在IE 11中,除非我注释掉以下内容:

...
//public IPersistStorageImpl<CIsmStreamViewCtl>
...
//COM_INTERFACE_ENTRY(IPersistStorage)
...

不会渲染activeX对象。

但是我在C#表单中使用相同的activeX对象。现在,如果我注释掉IPersistStorage实现,那么表单在调用时会抛出异常:

((System.ComponentModel.ISupportInitialize)).EndInit()

异常堆栈跟踪显示DePersistControl抛出的异常,它需要IPersistStorage接口。

有没有办法在IE和C#表单中运行ActiveX。 activeX已实现对象安全。

非常感谢任何帮助。

0 个答案:

没有答案