C# 无法使用C创建activex对象#

C# 无法使用C创建activex对象#,c#,activex,C#,Activex,我正在客户机上部署一个C#应用程序。应用程序需要从另一个程序访问代码,这样它就可以从另一个应用程序的屏幕上删除文本。它在开发机器上运行正常,但在客户端机器上抛出了一个错误“ActiveX组件无法创建对象”,这就是我得到错误的原因 private ExtraSession objExtraSession; private ExtraSessions objExtraSessions; private ExtraScreen objExtraScreen; priva

我正在客户机上部署一个C#应用程序。应用程序需要从另一个程序访问代码,这样它就可以从另一个应用程序的屏幕上删除文本。它在开发机器上运行正常,但在客户端机器上抛出了一个错误“ActiveX组件无法创建对象”,这就是我得到错误的原因

    private ExtraSession objExtraSession;
    private ExtraSessions objExtraSessions;
    private ExtraScreen objExtraScreen;
    private ExtraArea objExtraArea;
    private ExtraSystem objExtraSystem;
    protected void sessionInitializer()
    {
        try
        {
            objExtraSystem = (ExtraSystem) Microsoft.VisualBasic.Interaction.CreateObject("Extra.system");

            if (objExtraSystem == null)
            {
                MessageBox.Show("Could not create system");
                return;
            }
            objExtraSessions = objExtraSystem.Sessions;

            if (objExtraSessions == null)
            {
                MessageBox.Show("Could not create sessions");
                return;
            }
            if (!System.IO.File.Exists("C:\\Users\\" + userid + "\\Documents\\Attachmate\\EXTRA!\\Sessions\\SAS.edp"))
            {
                MessageBox.Show("File does not exist");
                return;
            }

            objExtraSession = (ExtraSession) Microsoft.VisualBasic.Interaction.GetObject("C:\\Users\\"+ userid + "\\Documents\\Attachmate\\EXTRA!\\Sessions\\SAS.edp");

            if (objExtraSession == null)
            {
                MessageBox.Show("Could not create session");
                return;
            }

            if (objExtraSession.Visible == 0)
            {
                objExtraSession.Visible = 1;
            }

            objExtraScreen = objExtraSession.Screen;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.StackTrace, "Failed to initialize Attachmate sessions");
        }
    }
错误是从objExtraSession=(ExtraSession)Microsoft.VisualBasic.Interaction.GetObject(“C:\Users\”+userid+“\Documents\Attachmate\EXTRA!\Sessions\SAS.edp”)生成的


我错过了一些步骤。请帮帮我。提前感谢。

最可能的解释是,您的开发计算机安装了ActiveX控件,但客户端计算机没有。阅读该控件的部署文档,并执行部署到客户端计算机所需的操作。

最可能的解释是,您的开发计算机安装了ActiveX控件,但客户端计算机没有。阅读控件的部署文档,并执行部署到客户端计算机所需的操作。

感谢您的所有回复。。。GetObject方法正在创建其activex组件未注册的对象。。。我通过找到相应的*.ocx文件并调用该文件上的Regsvr32解决了此问题

感谢您的回复。。。GetObject方法正在创建其activex组件未注册的对象。。。我通过找到相应的*.ocx文件并调用该文件上的Regsvr32解决了此问题

请向我们展示您的代码,否则我们将如何帮助您?另外,请使用正确的标记。@Bob您是否在开发计算机和客户端计算机上使用windows 7的VistaAm?请向我们展示您的代码,否则我们将如何帮助您?另外,使用正确的标记。@Bob您是否在开发计算机和客户端计算机上使用windows 7来使用VistaAm?您可以详细说明如何解决问题吗?您可以详细说明如何解决问题吗?