[DTE] Почему get_CodeElement работает по разному?
От: AlexNek  
Дата: 18.02.11 23:56
Оценка:
Есть две функции одна с TextSelection работает без проблем, другая с EditPoint дает "неизвестное СОМ исключение"

private CodeElement GetCodeElement(TextSelection position, vsCMElement scope)
{
return position.ActivePoint.get_CodeElement(scope);
}

private CodeElement GetCodeElement(EditPoint position, vsCMElement scope)
{
return position.get_CodeElement(scope);
}

Предистория такова.
Вначале был кусок с TextSelection, который ищет первый класс в файле. Если класс найден, то можно делать некоторые действия.
Все работает без проблем. Но затем захотелось меню "включать и выключать" если класс найден/не найден. Вот тут то и выяснилось, что TextSelection для этой цели не подходит.
Поэтому сделал для теста просто "дубликаты" функций где TextSelection был заменен на EditPoint. Вот тут-то и появилась данная проблема.

Нашел другой код с
CodeElement element = applicationFromCall.ActiveDocument.ProjectItem.FileCodeModel.CodeElementFromPoint(selPoint, 0);
Все равное это же исключение возникает.

Есть идеи?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.