我正在使用c#.Net使用WPF 和我使用MasungPrinter的应用程序通过USB端口连接。
因此,当我从Masung.dll调用getStatus()
时,我的应用程序停止运行
这是我在[第1部分]下的代码
public static class MasungDriver {
[DllImport("MsprintsdkRM.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int SetPrintport(string strPort, int iBaudrate);
[DllImport("MsprintsdkRM.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int SetInit();
[DllImport("MsprintsdkRM.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int SetClose();
[DllImport("MsprintsdkRM.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int PrintSelfcheck();
[DllImport("MsprintsdkRM.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetStatus();
}
和[第2部分]
public class MasungPrinter {
// Get status
public int GetStatus() {
try {
var result = -1;
if (!string.IsNullOrWhiteSpace(UsbPort)) {
logger.Debug("print: port {0}", UsbPort);
MasungDriver.SetPrintport(UsbPort, 38400);
var ok = MasungDriver.SetInit();
if (ok == 0) {
logger.Debug("print: getting status...");
result = MasungDriver.GetStatus();
logger.Debug("print: get status: {0}", result);
MasungDriver.SetClose();
}
}
return result;
}
catch (System.Exception ex) {
logger.Warn(ex);
throw;
}
}
}
每次应用强制停止时,我都会打开并查看日志。
我得到的最后一个日志是(在执行MasungDriver.GetStatus();
之前)
打印:正在获取状态...
而且我没有任何异常日志
解决此问题的任何想法
谢谢。