Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Андрей Бушман от 05-03-2014, 14:05:22

Название: Fatal Error при попытке использовать метод PromptEntityOptions.AddAllowedClass
Отправлено: Андрей Бушман от 05-03-2014, 14:05:22
AutoCAD 2009 SP3 x64 Enu

Цитата: ObjectARX 2009 SDK
PromptEntityOptions.AddAllowedClass Method

This method adds type to the internal list of classes allowed for the selection. If exactMatch is true, then only objects of the exact class type are allowed. Otherwise, objects of the specified type and of any derived types are allowed. 

If type is already in the class list, the value of exactMatch is applied to the existing class entry.

Код - C# [Выбрать]
  1. using Db = Autodesk.AutoCAD.DatabaseServices;
  2. using Ed = Autodesk.AutoCAD.EditorInput;
  3. ...
  4. Ed.PromptEntityOptions peo = new Ed.PromptEntityOptions(
  5.         String.Format("Укажите экземпляр блока '{0}'",
  6.         BlockRiseMarkExtension.AnchorBlockName));
  7. peo.AllowNone = false;
  8. peo.AllowObjectOnLockedLayer = true;
  9. peo.AddAllowedClass(typeof(Db.BlockReference), true); // Fatal Error
  10.  
  11. Ed.PromptEntityResult per = ed.GetEntity(peo);
  12. ...
  13.  

В комментарии указана проблемная строка.
Название: Re: Fatal Error при попытке использовать метод PromptEntityOptions.AddAllowedClass
Отправлено: Александр Ривилис от 05-03-2014, 14:18:42
1. Fatal Error или всё-таки Exception?
2. Вызови SetRejectMessage перед AddAllowedClass
Название: Re: Fatal Error при попытке использовать метод PromptEntityOptions.AddAllowedClass
Отправлено: Андрей Бушман от 05-03-2014, 14:25:10
1. Fatal Error или всё-таки Exception?
Если бы было Exception, то я бы и писал "Exception".
2. Вызови SetRejectMessage перед AddAllowedClass
Спасибо, это помогло.
Название: Re: Fatal Error при попытке использовать метод PromptEntityOptions.AddAllowedClass
Отправлено: Александр Ривилис от 05-03-2014, 14:26:51
Если бы было Exception, то я бы и писал "Exception".
Именно в 2009-ом я не проверял, а в более свежих (если не изменяет память) Exception eInvalidInput