我有一个C#.NET 2.0应用程序,它加载了传统VB6模块(我们尚未转换),这些模块是ActiveX控件(.ocx文件),应用程序通过互操作从主C#.NET表单加载这些模块。
自从.NET 2.0 Service Pack 2以来,我们的用户一直在收到随机错误,其中应用程序将抛出“不支持无窗口ActiveX控件”错误。 ActiveX控件不是无窗口的。
这似乎是其他人遇到的问题,但我没有找到有效的灵魂。
经常提供的解决方案之一是关闭进程的DEP,我试过了。
以前有人遇到过这个问题吗?
答案 0 :(得分:0)
您的问题与MSWLESS.OCX中控件的使用有关。您可能必须使用常规VB等效替换此OCX中使用的所有控件。两组控件之间没有太多的功能差异,所以你可能会很幸运。
几年前,当问题开始出现时,我摆脱了我的Windowless VB控件。如果我没记错的话,我能够在.frm文件中进行搜索和替换,以替换控件。更新
哇,真的很糟糕。您的Active X控件可能实际上是无窗口的吗? UserControl上有一个名为WindowLess的属性,它使您的控件无窗口。是否为任何用户控件设置为True?