Я работаю с WPF, используя c # .Net, и мое приложение, использующее MasungPrinter, подключается через USB-порт.
Итак, мое приложение перестает работать, когда я вызываю getStatus()
из Masung.dll
это мой код ниже [Часть 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();
)
print: получение статуса ...
и я не получаю никакихжурналы исключений
Любая идея для решения этой проблемы
Спасибо.