то я себе позволил небольшой "хак".
буду разбираться...Спасибо!!!
Команда конечно сессионная. Вот рабочий код (Cns - это мой класс для работы с консолью Автокада)
И тебе avc, Большое Спасибо..Как раз у меня получается наверное не совсем сессионная (и смотрю закрывать как я),это хорошо видно на accore.dll - автокад даже не успевает загрузится, как она идет на обработку...Так же получается при моем (простом закрытии через ".CloseAndDiscard()
,еще автокад грузит лисп-ы в чертеж и длл в автокад (но автокад уже загружен и поэтому исключение у меня вываливается, но чертеж не доконца еще загружен)=> как я пытаюсь его закрыть...
Большое СПАСИБО за подсказки ...
п.с А закрытие можно реализовать как писал выше(но мне это вариант не очень нравится = лучше прочитаю решение Александра по снятию флага= это лучше). А решение может быть таким (но это "костыль" извиняюсь за название, но моймете по ходу рассуждения):
- так как в моем случае автокад .CloseAndDiscard() - выдает исключение, можно его вызывать через определение время..
т.е вызываем паралельный поток (чтобы автокад продолжал выполнять свои действия) выполняющий через определенное время допустим 1 сек (или таймер) закрытие файла..и пробуем закрывать файл пока он не закроет, так как файл закрыть можно только из основного потока вызываем наш метод через Invoke...
но это не очень красивое решение, как писал выше "костыль"....