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

ADN Club => Inventor API => Тема начата: niksasa от 20-10-2014, 17:22:33

Название: Помогите разобраться
Отправлено: niksasa от 20-10-2014, 17:22:33
Добрый день. Есть две кнопки на пользовательской панели с разными именами: mPOL и mDCP.
Есть код
Код - Visual Basic [Выбрать]
  1. If (pDoc.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}") Then
  2.                             m_Form.mPOL.Visible = True
  3.                         Else
  4.                             m_Form.mPOL.Visible = False
  5.                         End If
Т.е. когда я открываю листовую деталь кнопка mPOL отображается и наоборот.
Вопрос: когда я открываю обычную деталь кнопка mPOL не отображается, но так же не отображается кнопка mDCP. Почему?
Название: Re: Помогите разобраться
Отправлено: Владимир Ананьев от 20-10-2014, 18:12:44
А где код для управления элементом mDCP.?
Название: Re: Помогите разобраться
Отправлено: niksasa от 20-10-2014, 20:05:57
А где код для управления элементом mDCP.?
А зачем? Он отображаться должен в любом случае.
Название: Re: Помогите разобраться
Отправлено: Владимир Ананьев от 21-10-2014, 00:16:54
Дружище, ты сам себе противоречишь.  Если видишь, что mDCP не всегда отображается, значит  не в любом?  Ищи в сооем коде логическую неувязку.  А явное управление видимостью этой кнопки что дает?
Название: Re: Помогите разобраться
Отправлено: niksasa от 21-10-2014, 00:51:37
Дружище, ты сам себе противоречишь.  Если видишь, что mDCP не всегда отображается, значит  не в любом?  Ищи в сооем коде логическую неувязку.  А явное управление видимостью этой кнопки что дает?
Кнопка mDCP удаляет прочие свойства детали. Она должна отображаться всегда в любой детали. А кнопка mPOL задает правило обработки листа и поэтому отображается только для листовой детали. Пока не могу понять почему кнопка mDCP не отображается для листовой детали ведь мне не нужно управлять ее видимостью. Я в тупике.
Название: Re: Помогите разобраться
Отправлено: niksasa от 21-10-2014, 10:17:12
Владимир, кнопки могут между собой быть как то связаны? VB позволяет это делать? Получается, что мои две кнопки воспринимаются как одно и тоже. И даже, если я пытаюсь управлять видимостью обеих кнопок ничего не меняется.
Название: Re: Помогите разобраться
Отправлено: Владимир Ананьев от 21-10-2014, 11:09:44
Если ты создашь еще одну кнопку, которая должна отображаться во всех контекстах, то как она себя будет вести? 
Название: Re: Помогите разобраться
Отправлено: niksasa от 21-10-2014, 11:22:39
Владимир, я разобрался в чем была проблема: кнопку mDCP я создавал путем копировании кнопки mPOL. В событии OnDocument у меня был код
If (pDoc.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}") Then
                        m_Form.mPOL.Visible = True
                    Else
                        m_Form.mPOL.Visible = False
                    End If
После копирования кнопки mPOL и переименования копии в mDCP код изменился на:
If (pDoc.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}") Then
                        m_Form.mDCP.Visible = True
                    Else
                        m_Form.mDCP.Visible = False
                    End If
Вернул его в первоначальное состояние и все заработало.
PS Больше новые кнопки не буду создавать путем копирования имеющихся.
Название: Re: Помогите разобраться
Отправлено: Владимир Ананьев от 21-10-2014, 11:23:51
 ;)