Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   trace () в FlashDevelop (http://www.flasher.ru/forum/showthread.php?t=113510)

Волгоградец 01.07.2008 10:36

trace () в FlashDevelop
 
Здравствуйте. Как трейсить в FD? FD ношу на флэшке, версия 3.0. Установил плагин FDTracer в папку в установочной директории. Панель output появляется, но данные не выдает.

iNils 01.07.2008 10:45

AS2 или AS3?

Волгоградец 01.07.2008 11:10

AS2.0, для начала ).

iNils 01.07.2008 11:42

Для начала надо выкинуть FDTracer :) У FD уже есть прекрасный механизм для этого.
В as2 трейс будет выводится в панель Results, а также номер строки и файл (читай класс, это мтаск постарался), по клику можно сразу будет перейти на строчку с трейсом. Для этого нужно следущее:
Глобальное:
1. Жмем F10 (настройки FD) и смотрим плагин Flash Connect, в его настройках по умолчанию должно стоять Host 127.0.0.1 и Port 1978 (можно конечно куда угодно направить, главное чтобы был сокет сервер с таким портом на таком хосте и программа слушатель которая понимает формат приходимого xml. Можно даже свой класс использовать со своим форматом и данными, но это отдельная тема. Я себе так делал, и выводил на бук. С одной стороны удобнее смотреть во весь экран, а не в узком окне, с другой - нельзя по клику перейти куда хочешь.).

2. Хост и порт должны соответствовать значениям в файле папка с FD\FirstRun\Library\AS2\classes\org\flashdevelop\utils\FlashConnect.as, именно этот класс занимается отправкой данных в FD

Идем дальше, теперь к проекту
3. В настройках проекта в Compiler Options должно стоять: Trace Mode-FlashConnectExtended (вообще, это должно стоять по умолчанию, но говорю, чтобы знали, если что не так, то какие места смотреть). Этот режим включает сокет-серевер в FD, который ловит все сообщения, от всех запущенных флешек скопилированных в FD в дебаг режиме (см ниже). Это удобно, можно например выложить на сервер и тестировать из браузера, смотря трейсы в FD.

4. В панели с инструментами есть комбобокс с двумя значениями Debug и Release. Для работы трейса должен стоять Debug, именно он подключает класс FlashConnect в swf

Примечания: По соображениям производительности, есть лимит на 1000 сообщений, после который трейсы не проходят. Исправить число можно также в классе FlashConnect

Волгоградец 01.07.2008 12:09

Спасибо, iNils...
Заработало, но только наполовину - если трейс находится в конструкторе, то результат выводится. В противном случае - нет...( Что за беда?

iNils 01.07.2008 12:14

Хм, я конечно могу попросить код, но боюсь там не один класс и много лишнего.
Для начала нужно попробывать сделать тестовый проект с одним классом и проверить все там.

Волгоградец 01.07.2008 12:29

Все работает. Это я засунул трейс в обработчик _root.onMouseDown и забыл нажимать на кнопку мыши - вот и не выводило ничего. iNils, спасибо тебе большое!

Волгоградец 08.07.2008 10:33

Хм.. Не знаю, глюк это или я чего не досмотрел: trace () не работает, если использую готовый swf, как учил iNils в FAQ'ке. Т.е. в классе Main работает, в других - нет...

iNils 08.07.2008 13:23

В других классах не работает? Или swf?

Волгоградец 08.07.2008 14:07

Вложений: 1
Вобщем я вообще ничего не понимаю...
Открываю старые проекты - в них все работает.
Создаю новый - в панель Results выдает трейс из класса Main, а из других классов - выдает в панель Output.
Вот проект, хотя вряд ли это что-то даст - видать это персональные настройки...


Часовой пояс GMT +4, время: 20:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.