在WPF窗口中使用ActiveX控件时访问冲突

时间:2017-06-06 17:18:40

标签: c# wpf crash activex

我尝试使用自动生成的WinForms包装器DLL和WindowsFormsHost在WPF窗口中嵌入ActiveX控件(Sax Basic IDE)。几个月前,它在另一台计算机上运行。但是现在控件抛出了一个本机异常,“访问冲突执行位置......”

尝试以下操作时,我看到了这个异常:

  1. 将控件添加到工具箱(通过“COM组件”选项卡)并将其拖放到Windows窗体用户控件上。 Visual Studio崩溃了。如果我使用另一个Visual Studio实例进行调试,我会得到上述异常。

  2. 在代码中实例化控件并将其直接附加到WindowsFormsHost

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        SaxHost.Child = new AxSb6ent.AxBasicIdeCtl();
    }
    

    当我启动此窗口时,应用程序在SaxHost.Child = …行上遇到上述异常崩溃。

  3. 在代码中实例化控件并调用CreateControl()

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        var ctl = new AxSb6ent.AxBasicIdeCtl();
        ctl.CreateControl();
        SaxHost.Child = ctl;
    }
    

    当我启动此窗口时,应用程序在CreateControl()行上遇到上述异常崩溃。

  4. 如何才能找到这些崩溃的底部并使ActiveX控件发挥得更好?

0 个答案:

没有答案