Взаимодействие двух аддонов — Панели и приборы

Здравствуйте!

Есть два аддона. Один читает параметры из FSX(читатель), другой их изменяет в FSX(писатель). Тут возникает следующая ситуация: параметры которые «писатель» меняет в FSX все время заменяются значениями самого FSX между циклами опроса аддона «писателя». В итоге получается аддон «читатель» может считать параметры FSX, а иногда параметры «писателя». Параметры, которые плавно меняют свое значение например, температура масла, будут постояно колебаться между значением «писателя» и значениями FSX. А для остальных параметров в большинстве случаев получается, что «читатель» получает параметры, которые ставит сам FSX.

Вопрос в том как избавиться от эффекта перезаписи данных «писателя»?

Ответов: 7

Читал-читал- не понял ни слова! Вы, уважаемый, мысли можете конкретней выражать? Хотя бы название аддонов назовите! А то ну вот честно-не понял о чём речь и что вы хотите!

Извиняюсь за первый пост, слишком абстрактно написал.

У меня есть самописный «аддон», который устанавливает набор параметров в FSX. Взаимодействует с FSX через Simconnect. Если я устанавливаю некоторые параметры (Например температура и давление масла. Это переменные «GENERAL ENG OIL PRESSURE:index» и  «GENERAL ENG OIL TEMPERATURE:index» ) на текущем вызове Callback-функции, то к следующему её вызову данные, мной устанновленные, уже изменены самим FSX. В итоге получается: любой другой аддон, который работает через Simconnect и считывает эти параметры, не получит моих значений.
Вопрос такой: 

Как донести мои параметры другому аддону в первоначальном виде =) ?

замаскировать их. ты когда отработаешь параметр, он дальше не уходит в сим. и зачем вообще в одном проекте два симконнектовских модуля? или я тоже постановку вопроса не понял?

Ты хотя бы приведи примеры кода, что ты делаешь, как ты цепляешься к переменным, как передаешь, как принимаешь

Сообщение отредактировал except: 01 August 2013 — 18:29

Топикстартер вполне понятно описал проблему для тех кто с ней сталкивался. Кто нет — тому сложно из текста будет понять.
Суть в следующем — через SimConnect мы можем менять многие переменные, которые нам не нравятся как их рассчитывает симулятор (например температура масла). Есть только один нюанс — те переменные, которые мы хотим заполнить своими значениями, нужно обновлять каждую итерацию, ибо симулятор тупо будет на следующей итерации после нашей записи опять записывать в них свои значения. Если это наш проект — то, за исключением некоторых специфичных переменных, на это можно не обращать внимание. А вот если есть стороний аддон, который через SimConnect читает переменные, то тут может быть проблемы с синхронизацией. Т.е. между нашей записью в переменную и её чтением сторонним аддоном, симулятор может обновить эту переменную собственными значениями.
 
Как отключить дефолтный механизм записи симулятором в переменные, которые мы решили сами контролировать, из офиц. документации неясно.

маскировать переменную. а вообще все равно не очень понятно, как два модуля для симконнекта попали в один самолет. к примеру фсупик для десятки тупо транслирует свои вызовы на симконнект и никаких проблем ни у кого не возникает. по твоему (это к Лаврику) тексту человеческому стало понятно что имел ввиду топикстартер, но не понятно как он вообще до этого дошел. у меня например маскировка переменных работает безотказно. вообщем автор топика, дай пример как ты это делаешь. я ни разу не натыкался на такие грабли, было бы интересно изучить вопрос.

Сообщение отредактировал except: 01 August 2013 — 21:38

Вот простенький пример демонстрирующий проблему. На каждом «шаге» устанавливается температура и давление масла, и считывается. Увидите, что получаемые значения не соотвествуют устанавливаемым.

http://zalil.ru/34657236

«Как два модуля для симконнекта попали в один самолет» — один аддон стороний и другой мой, и оба работают через SimConnect.

Что значит «маскировать переменную»?

Скинь мне скайп свой в личку