Приложение WPF принудительно останавливается при вызове GetStatus () из MasungPrinter - PullRequest
0 голосов
/ 21 февраля 2019

Я работаю с 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: получение статуса ...

и я не получаю никакихжурналы исключений

Любая идея для решения этой проблемы

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...