уже в самом потоке как проверить не закрыл ли пользователь данный файл?Ну а как иначе если чертеж может быть закрыт пользователем? Только есть большие шансы, что этот код работать не будет, так как AutoCAD .NET API не потокобезопасное и многие вещи нельзя делать не в основном потоке.
заново пускать этот цикл в потоке?
1. Тема создана не в том разделе - перенесу.
2. Код не форматирован - читай у меня в подписи.
уже в самом потоке как проверить не закрыл ли пользователь данный файл?Ну а как иначе если чертеж может быть закрыт пользователем? Только есть большие шансы, что этот код работать не будет, так как AutoCAD .NET API не потокобезопасное и многие вещи нельзя делать не в основном потоке.
заново пускать этот цикл в потоке?
Автокад и без них то фаталит. думал может есть более рациональный алгоритмФаталит чаще всего именно из за работы в отдельном потоке. Еще раз. К AutoCAD обращаться из отдельного потока нельзя. Можно вот так: http://adn-cis.org/ispolzovanie-potokov-dlya-fonovoj-obrabotki.html
но бывает так что пользователь просто напросто закрывает чертеж не выполнив рекомендацииМне не понятен алгоритм работы этого вашего приложения, но если документ не должен быть закрыт во время обработки - значит нужно запретить пользователю его закрывать (технически или административно).
уже в самом потоке как проверить не закрыл ли пользователь данный файл?Я тоже не очень уловил суть Вашей задачи, но по моему, правильней, после проверки всех открытых документов при запуске, можно подписаться на соответствующие события работы с документом.
уже в самом потоке как проверить не закрыл ли пользователь данный файл?Я тоже не очень уловил суть Вашей задачи, но по моему, правильней, после проверки всех открытых документов при запуске, можно подписаться на соответствующие события работы с документом.
реализовывал с двумя таймера только потому, что хотелось грузить ресурсы ПК по минимуму.Не смеши меня. Цикл по всем открытым чертежам (даже если их сотни - чего на практике быть не может) занимает миллисекунды. Какая тут загрузка ресурсов ПК?
у нас основная теория в том, что открытый через какое-то время начинает собирать мусор, если его долго не сохранять.Принудительно установи у всех пользователей ISAVEPERCENT (https://knowledge.autodesk.com/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/ISAVEPERCENT-system-variable-affecting-file-size-performance-and-interoperability.html) в 0 и мусора не будет.
Не смеши меня. Цикл по всем открытым чертежам (даже если их сотни - чего на практике быть не может) занимает миллисекунды.Ну этож как написать, мы кода не видели - там может и от 2 документов "все пропало", например перед тем как к документу обратится, его какой-нибудь готовой функцией вначале перерисовывают, а затем берут у него 8152 параметра (которые 3 раза еще все примитивы пересчитывают) из которых нужно только имя - но программисту было так удобней - функция-то уже готова.