Тема: Ошибка с ObjectARX (остановка программы)
Здравствуйте..
Имеется вот такой код на VS 2010 C#, ObjectARX, Acad 2009
[LispFunction("ConcatStrings")] static public string ConcatStrings(ResultBuffer args) { StringBuilder sb = new StringBuilder(); foreach (TypedValue rb in args) { if (rb.Value is string) sb.Append((string)rb.Value); } Document doc = Ac.Application.DocumentManager.Open("D:\\1\\Temp.dwg", false, null); doc.SendStringToExecute("(setq a 12) ", true, false, false); doc.SendStringToExecute("_close ", true, false, false); return sb.ToString(); }
Суть проблемы состоит в том что при вызове данной лиспфункции программа останавливается на вот этой строчке -
doc.SendStringToExecute("(setq a 12) ", true, false, false);
но она выполняется. Не выполяется уже последующие, а именно метод _Close. При попытке сменить лиспфункцию (setq a 12) на другую возникает такая же штука - остановка программы.
Использую именно метод - LispFunction, поскольку мне необходимо будет получить из Autocad строку с именем файла для дальнейшей обработки. Аналогичный код только с объявлением CommandMethod (без параметра) - работает на ура.
В чем может быть проблема?