|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Aug 2013
Сообщений: 73
|
Возможно ли отслеживать вызовы функций?
Всем доброй ночи. При создании программы на AS3 возник вопрос. Возможно ли каким-то образом отслеживать вызов определённой функции, не используя условия?
|
|
|||||
сам по себе вопрос довольно нелепо звучит, ибо ничего не мешает этот вызов в нем сам и отслеживать
чтобы понять о чем речь, надо бы знать для чего(в какой ситуации) это надо |
|
|||||
[+1 25.10.13]
[+4 18.03.14] |
Отвечали уже.
public static function getFunctionName(e:Error):String { //trace("**" +e.getStackTrace()); var stackTrace:String = e.getStackTrace(); // entire stack trace var startIndex:int = stackTrace.indexOf("at ");// start of first line var endIndex:int = stackTrace.indexOf("()"); // end of function name var suffixTrace:String=stackTrace.substring(endIndex + 3); startIndex=suffixTrace.indexOf("at "); endIndex= suffixTrace.indexOf("()"); // end of function name suffixTrace=suffixTrace.substring(startIndex + 3, endIndex); return suffixTrace; } trace(getFunctionName(new Error())) |
|
|||||
Babylon, а вы что имели ввиду?
как имя, вынутое из стека вызовов (к слову, только в дебаговой версии возможно) поможет отслеживать вызов определённой функции? мы его внутри этой функции не знаем что-ли? |
|
|||||
так же хотел бы обратить ваше внимание на Sample, который по-своему может помочь в решении задачи.
__________________
местонахождение |
|
|||||
[+1 25.10.13]
[+4 18.03.14] |
И как его узнать?
|
|
|||||
а зачем?
(поддержу уж стиль отвечать вопросом на вопрос Ж) Добавлено через 3 минуты ну и вообще-то что еще нужно узнать? Добавлено через 8 минут но мне не очень понятно зачем это нужно узнавать? |
|
|||||
[+1 25.10.13]
[+4 18.03.14] |
Я использую для отладки. Очень удобно!
|
|
|||||
Отследить все (или практически все) вызовы можно использую класс flash.trace.Trace
P.S. Метод не документирован((. Пример использования. Не понятно, только зачем Вам это нужно.
__________________
http://www.chessmax.ru Последний раз редактировалось Inet_PC; 01.11.2013 в 17:35. |
|
|||||
Если вам обязательно в новом методе выполнять нужные действия по вызову этой функции, можно просто отсылать в этой функции событие, и там где нужно его слушать.
|
Часовой пояс GMT +4, время: 12:45. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|