Добрый день.
Я всё глубже и глубже погружаюсь в изучение MasterSCADA.

Дошёл до создания ActiveX компонентов. Сделал пару простеньких всё отлично не работает.
Сейчас делаю кое что посложнее. Возникает несколько вопросов. Очень охота получить на них ответы.
Постараюсь описать ситуацию как можно подробнее.

Компонент представляет из себя комбоБокс и текстБокс.

У компонента 4 свойства
Код:
        [DispId(1),
        DisplayName("Список компонентов")]
        public string Components
        {
            get { return componentsPath; }
            set { componentsPath = value; }
        }

        [DispId(2),
        DisplayName("Файл настроек")]
        public string Settings
        {
            get { return settingsPath; }
            set { settingsPath = value; }
        }

        [DispId(3),
        DisplayName("Содержимое")]
        public string Contets
        {
            get { return componentsCB.Text; }
            set { componentsCB.Text = value; }
        }

        [DispId(4),
        DisplayName("Время выгрузки")]
        public string OpenTime
        {
            get { return openTimeTB.Text; }
            set { openTimeTB.Text = value; }
        }
1-е свойство - путь к файлу из которого будет загружаться Items комбоБокса

2-е свойство - путь к файлу в котором храниться конфигурация компонента
(тут остановимся подробнее. Компонент размещаем на мнемосхеме которая вызывается по умолчанию. На сколько я понял, когда я запускаю СКАДУ в рантайм, компонент создаётся заново. Т.е. он не видит значения своих свойств. Вызывается private void InitializeComponent(). Конструируются все контролы компонента.
Вызывается событие Load. В нём я читаю файл конфигурации. Т.е. какое значение было выбрано в комбоБоксе, и что написано в текстБоксе.
При изменении комбоБокса или текстБокса их содержимое сохраняется в файл конфигурации.)

3-е свойство - выбранный элемент комбоБокса - я хочу использовать ДИНАМИЗАЦИЮ для этого свойства. Хочу видеть в одной из переменных проекта ВЫХОД.

4-е свойство - содержимое текстБокса - я хочу использовать ДИНАМИЗАЦИЮ для этого свойства. Хочу видеть в одной из переменных проекта ВЫХОД.

т.е. я хочу использовать первые два свойства только для настройки, а вторые два - только для получения ВЫХОДА с них.

Как всё происходит на самом деле.
Я добавляю этот компонент в проект. Заполняю 1-е и 2-е свойства. 3-е и 4-е оставляю пустыми.
Открываю динамизацию выходов этого компонента. Связываю выход 3-го свойства с переменной Команда3.
ЗАПУСКАЮ проект.
По началу в комбоБоксе ничего не выбрано. В переменной Команда3 нет значения.
Разворачиваю комбоБокс - в нём элементы из файла указанного в 1-м свойстве (всё правильно).
Я выбираю какой-нибудь из элементов. Переменная Команда3 становится равна этому элементу. При этом в файле из 2-го свойства отражается изменения выбранного элемента. (всё правильно)
Теперь я ОСТАНАВЛИВАЮ скаду.
И снова ЗАПУСКАЮ.
Содержимое комбоБокса грузится из файла 1. Выбранный элемент грузится из файла 2. Т.е. комбоБокс отображается так как я и хочу.
НО в переменной Команда3 НИЧЕГО НЕТ.
Если я щелкну по комбоБоксу и выберу какой-нибудь элемент, переменная Команда3 начинает отображать значение.

Я так понял что переменной присваивается значение при вызове геттора 3-го свойства
Код:
        [DispId(3),
        DisplayName("Содержимое")]
        public string Contets
        {
            get { return componentsCB.Text; }
            set { componentsCB.Text = value; }
        }
Хотелось бы его узнать когда он вызывается, и как его можно вызвать насильно?

Надеюсь кто-нибудь дошёл до конца и ответит мне на мои вопросы.
Правильно ли я объявил свойства?
Одинаково ли я должен объявить те свойства для которых я хочу использовать динамизацию и те для которых не хочу?
Когда первый раз после запуска скады первый раз вызывается геттер свойства моего компонента?
Могу ли я вызвать этот геттер насильно? или какие мероприятия я ещё могу провести для того чтобы при запуске проекта в переменной Команда3 я видел текст из комбоБокса?

Спасибо.