C# CreateInstance不';I don’我没有按预期工作
我目前正在做一个小程序,我的编程技能不是最好的,但除了这一部分,它已经相当好了 我设法用附加代码从我的可执行文件启动了另一个程序。因此,如果我第一次循环下面的代码片段,程序INCA将启动,并且我能够使用程序的API函数 但是。。。当INCA同时关闭,我再次运行此代码时,没有任何事情发生,我无法访问API,即使之后手动启动INCAC# 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"
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;
}