Ошибка при выполнении процедуры SetPromptResultText в BorderDefinition

Автор Тема: Ошибка при выполнении процедуры SetPromptResultText в BorderDefinition  (Прочитано 112 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fedorАвтор темы

  • ADN OPEN
  • Сообщений: 25
  • Карма: 0
Доброго времени суток
Нашел код, который в теории, программно может изменять значения в Border, TitleBlock, SketchedSymble.
Изменяет имя текста процедура SetPromptResultText( DefinitionText As TextBox, NewValue As String )
Но в коде, именно на этой процедуре выдается ошибка: "Invalid procedure call or argument"
Подскажите пожалуйста, в чем может быть причина и как ее исправить?
Ниже будет ссылка на источник и код программы
Ссылка на источник тут: https://adndevblog.typepad.com/manufacturing/2012/07/getset-the-prompted-text-in-the-border-of-a-sheet-in-inventor-api.html
Код - Visual Basic [Выбрать]
  1. Sub changePrompt()
  2.   Dim doc As DrawingDocument
  3.   Set doc = ThisApplication.ActiveDocument
  4.  
  5.   Dim tb As TextBox
  6.  
  7.   Dim border As border
  8.   Set border = doc.ActiveSheet.border
  9.  
  10.   Dim borderDef As BorderDefinition
  11.   Set borderDef = border.Definition
  12.  
  13.   For Each tb In borderDef.Sketch.TextBoxes
  14.       If tb.Text = "<Sheet Description>" Then
  15.           Call border.SetPromptResultText(tb, "first sheet")
  16.       End If
  17.   Next
  18. End Sub
  19.  

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 371
  • Карма: 106
  • Skype: mikazakov@mail.ru
Еще сам файл чертежный нужно приаттачить, посмотреть его

Оффлайн fedorАвтор темы

  • ADN OPEN
  • Сообщений: 25
  • Карма: 0
Пробовался на чертеже, выполненном на стандартном шаблоне инвентора. Вместо значения "<Sheet Description>" можно вставлять свой параметр
Тут вопрос именно в срабатывании метода SetPromptResultText
У меня одного возникает ошибка?

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 371
  • Карма: 106
  • Skype: mikazakov@mail.ru
Попробовал, нормально работает макрос:



Но в коде, именно на этой процедуре выдается ошибка: "Invalid procedure call or argument"
Возможно, переменная типа tb не инициализирована попадает в сигнатуру SetPromptResultText

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 9935
  • Карма: 1274
  • Рыцарь ObjectARX
  • Skype: rivilis
fedor,
Какая версия Inventor и установлены ли все обновления?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн fedorАвтор темы

  • ADN OPEN
  • Сообщений: 25
  • Карма: 0
Версия 18
Обновления установлены