поиск

Недокументированный метод __resolve

Намусорил: Юрий «Бармалей» Яровой
В категории: ActionScript 1, ActionScript 2

Часто встречающейся ошибкой у flash-разработчиков при написании программы является ее обращение к несуществующему свойству или переменной.

Обычно это случается потому, что обращение к свойству происходит до его определения. Так же возможна ошибка в областях видимости. Поэтому было бы замечательно, если разработчик мог точно отследить эту ошибку и мог не "трейсить" каждую подозрительную переменную.

Оказывается, это вполне возможно, если воспользоваться недокументированным служебным методом __resolve. Вызов этого метода интерпретатор производит каждый раз при обращении к несуществующему свойству. В качестве параметра методу передается имя этого свойства.

Как это можно обыграть на практике? Достаточно дополнить код, отвечающий за инициализацию приложения, следующими строками:

Actionscript:
  1. Object.prototype.__resolve = function(propName){
  2.     trace("Variable \""+propName+"\" is undefined");
  3. }

Теперь каждый раз при возникновении подобной ошибки в окне "Output" будет появляться следующий текст Variable "имя свойства" is undefined:

Actionscript:
  1. var a = b; //проверяем

По-моему, очень полезный метод. Я часто использую его при отладке своих проектов.



Kомментариев - 9 к «Недокументированный метод __resolve»

White [2 мая, 2007 в 12:10]

чудесно
из этой же серии переписывание метода toString чтобы понять какой объект к тебе вернулся

White [2 мая, 2007 в 12:11]

а офигенно широкий код и экплорере тоже офигенно широкий

Юрий Яровой [2 мая, 2007 в 12:57]

ну, в общем-то, в комментарии в листинге описана причина этой проблемы. =)

White [2 мая, 2007 в 14:36]

я не верстатель, мне не понять..
кстати, на почту не доставляются уведомления о новых ответах. это так задумано?

Юрий Яровой [2 мая, 2007 в 15:05]

За рассылку уведомлений о новых комментариях к посту, видимо, отвечает какой-то плагин к движку. Здесь он не установлен. Просто я не знаю что это за плагин.

Юрий Яровой [3 мая, 2007 в 16:06]

Подцепил плагин, уведомляющий о новых комментариях к посту. =)

White [15 мая, 2007 в 20:27]

чичас протестируем...

Vooparker [16 мая, 2007 в 12:43]

Эх... :)

White [16 мая, 2007 в 13:07]

отлично! ;)

Написать комментарий:

 

Bы можете использовать следующие теги для форматирования: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



User's collector

Внимание!
Эта опция станет доступной только после того как вы авторизуетесь.


 запомнить меня 
Я новый пользователь

На правах рекламы