日期:2014-05-18 浏览次数:21312 次
[DllImport("termb.dll")]
private static extern int CVR_InitComm(Int32 Port);
或
[DllImport("termb.dll", EntryPoint = "CVR_InitComm"))]
private static extern int CVR_InitComm(Int32 Port);
------解决方案--------------------
估计是CVR_InitComm内部抛出了异常,用下面的代码确认一下...
[DllImport("termb.dll")]
private static extern int CVR_InitComm(int Port);
public static bool InitComm() {
bool result = false;
try {
if ((CVR_InitComm(1001) == 1) || (CVR_InitComm(1002) == 1)
|| (CVR_InitComm(1003) == 1) || (CVR_InitComm(1004) == 1)) {
result = true;
}
} catch (SEHException ex) {
Console.WriteLine("Unknow error occurred in the call to CVR_InitComm(...)");
}
return result;
}
------解决方案--------------------
顶一下 接分
------解决方案--------------------
曾经遇到过,我的问题是传入的参数类型不一直造成的
------解决方案--------------------
楼上的
[DllImport("termb.dll")]
private static extern int CVR_InitComm(int Port);
------解决方案--------------------
一般都是参数不对应
------解决方案--------------------
你的错误提示 是参数不正确造成的。.你看下说明确定这个方法 只是 int 一个参数?
------解决方案--------------------
//依vb6的声明,c#对应的应该是这样
[DllImport("termb.dll")]
private static extern Int16 CVR_InitComm(Int32 Port);