Пробуем написать модуль ввода-вывода. Возникла проблема с передачей значений свойств в RTProcessor. Хотелось бы передавать, например, строку с именем COM-порта для его создания-открытия-закрытия runtime. Выбросил все лишнее:
Класс со свойством:
Код:
namespace TestModule
{
[Serializable]
public class TestModule : InternalModuleInstanceBase
{
string _comPortName = "COM1";
[DisplayName("Имя порта"), Category("Параметры порта")]
public string ComPortName
{
get { return _comPortName; }
set { _comPortName = value; }
}
public TestModule(string typeID) : base(typeID)
{
}
}
}
Класс режима исполнения:
Код:
namespace TestModule
{
public class TestModuleRTProcessor : InternalModulesRTProcessor
{
const int OutputPin = 1;
RTPinHlp _outputPin;
TestModule _testModule;
// SerialPort ComPort;
public override void Start()
{
_outputPin = GetRTPin(OutputPin);
_testModule = new TestModule("TestModule");
// MessageBox.Show("ComPort Name = " + _testModule.ComPortName, "Инфо");
// ComPort = new SerialPort(_testModule.ComPortName, 9600, Parity.None, 8, StopBits.One);
// ComPort.Open();
}
public override void Update()
{
_outputPin.SetValue(new PinValue(_testModule.ComPortName, DateTime.UtcNow));
}
public override void Dispose()
{
// ComPort.Close();
}
}
}
В примере для наглядности передаю свойство на выход, всегда получаю значение по умолчанию ("COM1"). Что делаю не так, что забыл?