• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Атрибут макроэлементу

Автор psiv, 17.08.17, 22:28:21

« назад - далее »

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

psiv

Не получается назначить макроэлементу атрибут...
Использую процедуру CreatAttrs из учебного курса "Инструментальные средства разработки прикладных САПР КОМПАС-МАСТЕР 5" (Богуславский Ан.А., кафедра теор. физики КГПИ, Работа №8).
Описал ее в своем модуле uATX в строках 250...350, вызываю в строке 440.
В своем макроэлементе Шайба (при раскоментированном Действии 3 (строки 337...341)) эта процедура создает атрибут, а в моем - нет.
Что не так?

Slaviation

Посмотрите на объявление в строке 263:
MacroUGO: Reference;
И далее, в строке 346 вы пытаетесь создать атрибут для MacroUGO, который нигде в теле процедуры CreatAttrs не определен.
Может в этом дело?

psiv

Может быть, но я не знаю как это сделать, мой уровень знаний в программировании - начальный.
В исходном коде этой процедуры действительно макроэлемент Шайба создается внутри ее, у меня - в другой. Как мне перенести это определение внутрь процедуры CreatAttrs? Причем, это мне придется делать многократно для множества атрибутов.

Slaviation

строку 263 закомментируйте.
строку 251 поправьте так: procedure CreatAttrs(iDoc: ksDocument2D; MacroUGO: Reference);
строку 440 так: CreatAttrs(iDoc, MacroUGO);
+ Благодарностей: 1

psiv

18.08.17, 09:59:42 #4 Последнее редактирование: 18.08.17, 10:31:22 от psiv
Большое спасибо! Атрибут создается.

psiv

Научите, пожалуйста, начинающего выносить процедуру в другой модуль.
В Unit1 в строках 50...54 описана procedure Kontur, вызывается в этом же модуле в строках 83 и 90, работает нормально.
Описал ее в модуле Unit2, в первом модуле закоментировал - не работает, хотя ShowMessage('Test') показывается.

Зачем эти переменные, на картинке?
Может так объявить процедуру - procedure Kontur(iDoc:ksDocument2D);
PS. Почитайте в книге про переменные.
+ Благодарностей: 1

psiv