Вопросы по системе сквозного проектирования и менеджмента проектов
Исходное сообщение:
serge197a, 12.11.2016, 09:25
Проблемы, возникающие после обновлений
Сегодня утром после обновления перестал компилироваться рабочий проект. Как это устранить?
Ответы:
VoronovMaksim88, 13.11.2016, 11:11
Проблемы, возникающие после обновлений
У вас явно циклическая связь блоков в макросе.
VoronovMaksim88, 13.11.2016, 11:11
Проблемы, возникающие после обновлений
Если добавить переменную, то тогда нормально скомпилируется.
VoronovMaksim88, 13.11.2016, 11:12
Проблемы, возникающие после обновлений
Но это не последняя ошибка в проекте ))
serge197a, 13.11.2016, 13:11
Проблемы, возникающие после обновлений
[quote author=VoronovMaksim88 link=topic=105.msg2355#msg2355 date=1479024777] Но это не последняя ошибка в проекте )) [/quote] если вы про входные переменные этого макроса, то он не дописан из-за невозможности компиляции. они в будущем должны будут писаться по сети. остальное работает. циклическая связь должна проверяться при компиляции объекта. Успешная компиляция объекта и ошибки при компиляции программы в целом не должна появляться при условии правильных внешних связях макросов программы. Такие особенности (как запрет рукурсивной связи) не являются правилом для всех сред программирования использующие ФБД и должны выделяться при проверке объекта обязательно.
VoronovMaksim88, 14.11.2016, 04:18
Проблемы, возникающие после обновлений
Согласен с Вами. Ну так они и выделяются. Вот я создал программу с одним единственным макросом. В этом макросе циклическая связь. При проверке вылетела ошибка. Всё правильно вроде бы.
serge197a, 14.11.2016, 13:00
Проблемы, возникающие после обновлений
Максим, в приведенной вами схеме прямая рекурсивная связь. Если используется несколько блоков, с возвратом в стеке, то такое без промежуточных переменных возможно. И абсолютно допустимо в большинстве сред программирования. В частности пример- отсутствие ошибок при компиляции моего макроса как объекта в ЗВБ. Это как в скрине из программы, на котором вы стрелок наставили. Первое тоже в звб иногда допускается. К примеру в блоке записи модбас. (см пример в ИЭ)