Max005
1

Не работает Property Get в VBA for AutoCAD

17.05.2011, 13:24. Показов 1780. Ответов 5
Метки нет (Все метки)

Вот часть описания класса объекта:

Private dblStartAngle As Double

Public Property Get StartAngle() As Double
StartAngle = dblStartAngle
End Property

В процедуре другого класса обращаюсь к свойству объекта:

With Arc(3)
.Radius = dblRadius + Width - Offset
.StartAngle = Smallest ' не равно 0 точно.
.EndAnlge = Smallest + Medium
.center = coorCenter
.Draw
End With

value=Arc(3).StartAngle

Получается, что value=0. Почему?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2011, 13:24
Ответы с готовыми решениями:

VBA для AutoCad
Посоветуйте, пожалуйста, хорошую литературу по VBA для AutoCAD.

Информация по VBA B Autocad
Давненько меня здесь не было. Много воды утекло, вот я уже и инженер. Теперь можно и программу...

Интересует метапрограммирование в VBA: способы работы с Property
у класса есть три свойства и три метода. Каждый из методов заполняет свое свойство через сеттер...

Компонент VBA для autocad 2012 civil 3d
Прилагаю скрин со всеми подробностями. Цель этого сообщения - открыть этот файл. Перехожу по...

5
1 / 1 / 1
Регистрация: 10.04.2011
Сообщений: 415
17.05.2011, 16:02 2
Может, get должен работать в паре с set?
0
Max005
17.05.2011, 16:20 3
Думаю, что нет, т.к. letget используется для работы со значением double.
1 / 1 / 1
Регистрация: 10.04.2011
Сообщений: 415
17.05.2011, 16:29 4
Не, ну ты сам подумай.
Написал get, который возвращает значение не StartAngle, a dblStartAngle - отдельной переменной. По умолчанию она 0. Я классами в VBA не занимался, но, насколько помню из паскаля, подобные методы должны быть парными - get/set, load/save и т.д.
Попробуй опиши свойство set, в котором присваиваешь dblStartAngle переданное значение. Кстати, классы для того и придуманы, чтобы не разрешить пользователю класса напрямую обращаться к данным. Ты же можешь не просто присвоить значение, но и проверочку соорудить, например, больше 0.
0
snov
19.05.2011, 12:33 5
Ты же присваиваешь значение свойству, оно обрабатывается Property Let. А для того чтобы получить значение этого Свойства используется Get
snov
19.05.2011, 12:35 6
Блин, не до конца прочитал . А как стереть/исправить пост? Возможно переменная dblStartAngle, где-нить в коде изменяется?
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2011, 12:35
Помогаю со студенческими работами здесь

VBA Выбор примитивов AutoCAD с фильтрацией по слоям
Поставлена такая следующая задача: необходимо програмно выделить все мультилинии, находящиеся в...

3D-пружина, спирали из delphi в Autocad используя VBA
добрый вечер! подскажите пожалуйста, как создать 3d пружину с помощью VBA обращаясь через Delphi к...

3D-пружина, спирали из delphi в Autocad используя VBA
добрый вечер! подскажите пожалуйста, как создать 3d пружину или спираль с помощью VBA обращаясь...

Серединный перпендекуляр определенной длины (VBA-autocad)
есть отрезок, 2 точки заносятся пользователем, нужно провести серединный перпендекуляр , с длиной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru