|
#1
|
|||
|
|||
Анализатор кода
Доброго всем вечера.
В моём модуле существует класс TGLCube. Его использует или не использует в своём проекте юзер. Юзер может сделать сколько угодно объектов с этим классом. Моя задача в том, чтобы посмотреть у каждого куба, обращался ли юзер к свойству GLCube1.Position.X или нет. Если да, то я буду генерировать кубик одним способом, если нет, то другим. Собственно вопрос: как посмотреть обращался или нет? Я думаю, надо использовать какие-то директивы компилятору, но какие? Вот если бы было возможно объявить временную переменную (только для компилятора) и записать в неё значение, а потом, при генерации кубика, это значение прочитать, то было бы просто... Ах да, вот ещё, TGLCube находится в одном модуле, а .Position.X описано в другом. Помогите пожалуйста, сегодня весь вечер над своей проблемой бьюсь. Делаем'c разные игры. Искать на glscene.ru |
#2
|
|||
|
|||
Делай свойство через property.
Код:
TMyClass = class private FIsAccessed : Boolean; FAnyProperty : Integer; function GetAnyProperty : Integer; procedure SetAnyProperty(Value : Integer); public property AnyProperty : Integer read GetAnyProperty write SetAnyProperty; end; ... function GetAnyProperty : Integer; begin FIsAccessed := True; Result := FAnyProperty; end; procedure SetAnyProperty(Value : Integer); begin FIsAccessed := True; FAnyProperty := Value; end; |
#3
|
|||
|
|||
Если жалко память под информацию об обращении к свойству. Можно ее хранить в динамическом массиве. Далее, после генерации кубов, установить длину массива в 0.
Можно отдельный раздел уже создавать: "Вопросы от DungeonLords". Один такой вопрос стоит сотни вопросов из раздела "Начинающим" |
#4
|
|||
|
|||
Непонятно только, на какой момент пользователи обращаются к свойству. Почему вопрос называется "Анализатор кода"?
|