Что это за статус? Что он означает? Как всегда рад любому совету / предположению.Вот что я нашёл: http://adndevblog.typepad.com/manufacturing/2012/12/inventor-displaystate-property-of-browsernodedefinition.html
Вот что я нашёл: http://adndevblog.typepad.com/manufacturing/2012/12/inventor-displaystate-property-of-browsernodedefinition.htmlСпасибо вам, Александр. Но то ли английский меня подводит, то ли владение программированием, яснее не стало:
На выходе перебираются все вхождения, и выводится в дебагер их имена и то, включена ли в них адаптивность... Но как это связано с DisplayState?Ну да. Чтобы посмотреть какие состояния DisplayState у BrowserNode в файле.
Ну да. Чтобы посмотреть какие состояния DisplayState у BrowserNode в файле.Не могли бы вы пояснить, каким образом мы смотрим это состояние? Адаптивность вхождений с ними же никак не связана?
Похоже я влез не в свою тему.Жаль :( В любом случае большое спасибо за участие. Попытаюсь еще разок осмыслить вашу ссылку, Владимир Николаевич обычно ерунды не пишет. :)
У меня возникло подозрение, что если изменить для нода его DisplayState на kUpdateRequiredDisplayState, то BrowserPane.Update() обновит этот нод.Имеете ввиду, что после изменения содержимого папки вручную менять свойство? Звучит резонно, быть может в инвенторе баг, и свойство само не всегда меняется, когда должно, из за чего и браузер не обновляется командой BrowserPane.Update().
У меня возникло подозрение, что если изменить для нода его DisplayState на kUpdateRequiredDisplayState, то BrowserPane.Update() обновит этот нод.
Что опять таки говорит о том, быть может "BrowserNodeDefinition.DisplayState" совсем другие задачи решает?Похоже, что его задача лишь в установке иконки для узла.
Похоже, что его задача лишь в установке иконки для узла.Я тоже пришел к такому вывду. Но мне это не поможет. В англоязычных статьях на форумах, с вопросами на тему обновления браузера довольно часто в коде встречается метод BrowserPane.Refresh(). К сожалению, ни в 1 из топиков не было пометки "Solved". Так что разобраться толком я так и не смог, ибо непонятно, какая часть кода рабочая, какая нет. Судя по описанию, метод также может быть решением моей задачи. Но пока его использовать не получилось.
Вопрос собственно такой, подскажите пожалуйста, каким образом можно заставить программу закрыться и снова себя открыть?Зачем? Не проще ли заставить программу обновить свои данные? ;)
Зачем? Не проще ли заставить программу обновить свои данные?Каждый раз буду добавлять новые данные, или удалять старые, я буду вынужден менять код "обновление данных"? Рано или поздно это приведет к ошибке. Понятно, что я рассматриваю это, как план "Б". Но перезапустить программу было бы значительно проще, если это возможно
Каждый раз буду добавлять новые данные, я буду вынужден менять код "обновление данных"?Вынеси код "обновление данных" в отдельную функцию, которая обновляет данные при запуске программы и если её принудительно вызвать. Этого будет достаточно на все случаи жизни. Т.е. если у тебя данные будут добавляться, то модифицировать тебе придётся только одну эту функцию.
если это возможноЕсли это .NET-программа (dll-файл), то сомнительно, что ты её сможешь перезапустить. В AutoCAD это точно сделать нельзя, т.к. все программы в одном домене. В Inventor не знаю, но уверен на 99.9% что сама себя программа перезагрузить не сможет. Нужна будет другая программа, которая эту выгрузит, а потом загрузит и запустит на выполнение. Так что советую не искать приключений, а пойти по простейшему пути.