Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CreateInstance不';I don’我没有按预期工作_C#_Object_Com_Createinstance - Fatal编程技术网

C# CreateInstance不';I don’我没有按预期工作

C# CreateInstance不';I don’我没有按预期工作,c#,object,com,createinstance,C#,Object,Com,Createinstance,我目前正在做一个小程序,我的编程技能不是最好的,但除了这一部分,它已经相当好了 我设法用附加代码从我的可执行文件启动了另一个程序。因此,如果我第一次循环下面的代码片段,程序INCA将启动,并且我能够使用程序的API函数 但是。。。当INCA同时关闭,我再次运行此代码时,没有任何事情发生,我无法访问API,即使之后手动启动INCA public bool Init() { var type = Type.GetTypeFromProgID( "Inca.Inca"

我目前正在做一个小程序,我的编程技能不是最好的,但除了这一部分,它已经相当好了

我设法用附加代码从我的可执行文件启动了另一个程序。因此,如果我第一次循环下面的代码片段,程序INCA将启动,并且我能够使用程序的API函数

但是。。。当INCA同时关闭,我再次运行此代码时,没有任何事情发生,我无法访问API,即使之后手动启动INCA

    public bool Init()
    {
        var type = Type.GetTypeFromProgID( "Inca.Inca" );

        if ( type == null )
            return false;

        _inca = Activator.CreateInstance( type );

       return _inca != null;
    }

我错过了什么??是否需要重新分配或释放com对象?

在创建新实例之前关闭api(有关详细信息,请参阅问题的注释)


“印加”是一种什么样的计划?如何“关闭”它?它是汽车行业的校准工具。它有时会崩溃,我无法用上面的代码连接/打开它,尽管它只在第一次工作,但之后我必须重新启动程序才能再次与INCA连接。在调用上述
Init()
函数后,您使用哪些函数打开和关闭api?这是什么类型的COM对象?进程内还是进程外?什么单元模型?在
Inca.Inca
类上是否没有方法可用于“关闭”api(类似于
\u Inca.close();
\u Inca.Dispose();
)?
public bool Init()
{
    if ( _inca != null )
        _inca.Close();
    var type = Type.GetTypeFromProgID( "Inca.Inca" );

    if ( type == null )
        return false;

    _inca = Activator.CreateInstance( type );

    return _inca != null;
 }