|
01.09.2014, 11:42 | #1 |
Участник
|
Добрый день!
Приведенный код .net работает не так, как нужно. Ах ничего не выводит в инфолог, при завершении все выводится в редактор кода X++. Работаем через терминал, при этом в блокнот все сканируется нормально. Цитата:
Сообщение от Cardagant
Приведу свой код с использованием .NET в X++ для обработки получения данных COM-порта. Может пригодится. X++: str message; boolean keepTrying; InteropPermission lclsInteropPerm; System.IO.Ports.SerialPort SerialPort; ; lclsInteropPerm = new InteropPermission(InteropKind::ClrInterop); lclsInteropPerm.assert(); try { SerialPort = new System.IO.Ports.SerialPort('COM3'); // Parameters SerialPort.set_BaudRate(9600); SerialPort.set_Parity(System.IO.Ports.Parity::None); SerialPort.set_StopBits(System.IO.Ports.StopBits::One); SerialPort.set_DataBits(8); SerialPort.set_Handshake(System.IO.Ports.Handshake::None); // Timeout SerialPort.set_ReadTimeout(500); SerialPort.Open(); keepTrying = true; while (keepTrying) { message = SerialPort.ReadExisting(); if (message) { keepTrying = false; info(message); } } } catch (Exception::Internal) { error(AIFUtil::getClrErrorMessage()); } catch (Exception::CLRError) { error(AIFUtil::getClrErrorMessage()); } if (!CLRINterop::isNull(SerialPort)) { SerialPort.Close(); } CodeAccessPermission::revertAssert(); |
|