суббота, 29 декабря 2007 г.

ClassPath во Flash IDE

Столкнулся с граблями:
Есть флэшка, в которой генерится снег. При компиляции на одном компьютере (где была изначально сделана) работает, на другом компилируется, но снега нет.
Оказывается:
В параметрах Publish settings -> Actionscript version -> Classpath был указан абсолютный путь к классу снега. При компиляции, флэш не находит класс, но ничего не сообщает - просто генерирует класс "по умолчанию". Соответственно, я голову сломал пока не добрался до этих параметров.
Для того, чтобы указать относительный путь надо вводить строку вида ".\class_folder". Без точки со слэшом путь почему-то не находится.

четверг, 27 декабря 2007 г.

Игровой сервер SmartFoxServer. Установка под Windows и тестирование

Выберем PRO-версию и скачаем версию для Windows. Устанавливаем. Ничего сверхсложного.
Запускаем "Start SmartFoxServer". Появляется консоль, что-то начинает устанавливаться, запускаться. В итоге имеем надпись "Server is up and running!"

Теперь попробуем это в действии. Лезем в "Examples".
Интересовать нас будет папочка AS3. SWF понятное дело заработали не все - вылезло окно исключения - локальная политика безопасности не дала пользовать сокеты, загружать локальные XML и т.п.
Попробуем открыть и откомпилировать исходник из Flash IDE.
Попробуем пример "advancedBuddList". Перед компиляцией надо установить пути к классам. Вносим в список Publish Settings > Flash > Settings > Classpath строку "C:\Program Files\SmartFoxServerPRO_1.6.0\Flash API\Actionscript 3.0".
Успешно компилируем, запускаем. Работает, коннектится, но как-то криво.
Зато пример "SmartFoxChat" работает превосходно. А в окне серверной консоли мониторится всё происходящее.

Adobe Flex Builder 3. Ставим вторую бету под Eclipse

Заходим на Adobe Flex Builder 3 Public Beta 2 и качаем.
Любопытно - триальный срок обнулится или нет?...
Запускаем flexbuilder3_b2_win_plugin_101107.exe.

Оставляем директорию по умолчанию.
Говорит что нерекомендует поверх старой ставить. Забиваем.

Получаем в конце такое окно с сообщением, которое нам поможет действовать дальше.
Действуем по инструкции.

Eclipse перезагрузился, Flexbuilder опять работает! Триальный период обновился до 60 дней.

Странное с отладкой в FD3

Перестал работать trace(). Не штатный дебагер, не FDTracer ничего не выдавали.
Долго пытался понять в чем дело - в итоге чисто интуитивно зашел в папку и запустил файл: "C:\Program Files\Adobe\Adobe Flash CS3\Players\Debug\FlashPlayer.exe"

После этого, сразу trace() снова стал работать.

На другом компьютере такой фокус не прошел. Да и не удивительно. Возможно причина в том, что на первом была установлена Debug-версия плеера вместе с Flex Builder. На втором же Flex не ставился. На первом что-то перенастроилось и Debug-плеер стал недоступен, но после его принудительного запуска все восстановилось. Но это всё догадки.

В итоге, есть простое универсальное решение. Зайти в настройки Installed Plugins > FlashViewer > ExternalPlayerPath и прописать "C:\Program Files\Adobe\Adobe Flash CS3\Players\Debug\FlashPlayer.exe".
Для того, чтобы открывалась именно Debug-версия в настройках проекта необходимо указать в Test movie > Open SWF in: External.
При таком выборе открывается нормальное окно флэш-плеера и создается сессия отладчика. При этом трейс выводится и в Output и в окно FDTracer.

Переустановка FlashDevelop 3 beta 3

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

* * *

Директория теперь расположена в папке "C:\Documents and Settings\USER_NAME\Local Settings\Application Data\FlashDevelop". При переустановке FD необходимо сохранять из нее папки с плагинами, шаблонами и настройками (Snippets, Templates, Plugins, Settings).

Установка плагинов для Flash Develop

Добрейшие люди подсказали хорошую ссылку на плагины к FD3, в том числе на FlashAPI.
Теперь настраиваем хелп!
Облом... Скопировал dll в папку плагинов. Никаких изменений... Боже Мой! Опять те же грабли... в Documents And Settings же... Зачем надо было делать такой изврат??? Путаница страшная! Убиваю всё старое из папки в Program Files.
Копирую в "C:\Documents and Settings\ЮЗЕР\Local Settings\Application Data\FlashDevelop\Plugins"
Появилась панелька!
В настройках плагинов находим FlashAPI и прописываем "C:\Program Files\Adobe\Adobe Flash CS3\en\First Run\ActionsPanel\ActionScript_3\ActionsPanel_3.xml".

В панели Flash API появился список всех классов как в AS-панели.

Пропишем в свойствах еще один путь:
"C:\Program Files\Adobe\Adobe Flash CS3\en\First Run\ActionsPanel\ActionScript_1_2\ActionsPanel.xml".
Теперь в меню справа вверху можно будет выбрать панель для AS1 и 2.

* * *

Плагин BookmarkPanel: Копируем в папку с плагинами. Запускаем FD. Новая панель в котторой отображаются текущие закладки. Всего-то.

Плагин AsClassWizard: Копируем, запускаем FD. Никаких видимых изменений. В настройках плагина тоже ничего нет. Создаем новый класс из окна проекта Add->New class. Получаем окно с настройками создаваемого класса. Да, перед этим нужно заменить шаблоны из папки "C:\Documents and Settings\racer\Local Settings\Application Data\FlashDevelop\Templates\ProjectFiles" на новые, которые прилагаются к плагину.

Плагин SourceOptions: Копируем, запускаем FD. В контекстном меню появилось подменю, позволяющее:


  • Копировать имя текущего файла в буфер.
  • Организовывать импорты (не понял пока).
  • Создавать установщики для переменной, на которой стоит курсор.
  • Создавать методы доступа к переменной, на которой стоит курсор.

Плагин StickiesNotes: Копируем, запускаем FD. При запуске - ошибка. В меню "View" появился новое подменю Stikies. Здесь можно добавить стикеры с заметками. Не очень удобная штука и с ошибкой - удаляю.

Плагин RegularExpressionPanel: Многообещающее название. Копируем, запускаем FD. Отличная вещь!
В меню View появился пункт Regular Expression Toolkit. Пока не совсем понял как работает, но вижу что генерит AS-код, основанный на заданном паттерне.

Плагин SharedObjectReader: Копируем, запускаем FD. В меню Tools -> Flash Tools появился пункт Shared Object Reader, который показывает текущие Shared Object-ы. С этим предстоит еще разобраться.

* * *

Tasklist Plugin

Хоть и написали в описании, что этот плагин будет внедрен в FD3. И все же решил его добавить. Скачали, поставили. Появилась панель. В настройках устанавливаем:


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

Насчет иконок - в папке "C:\Documents and Settings\ЮЗЕР\Local Settings\Application Data\FlashDevelop\Settings" лежит файл Images.png, который показывает соответствие иконок номерам.

* * *

FlashDevelop3. Ошибка плагина ASClassWizard

При установке плагина ASClassWizard перестает работать преобразование служебных переменных типа $(ItmTypPkg), $(ItmTypName), $(ItmName).

Прийдется обойтись без него... На официальном сайте про это были сообщения. Ждем новой версии.
Кстати, вернуть обратно шаблоны можно из "C:\Program Files\FlashDevelop\FirstRun\Templates\ProjectFiles\". Слава Богу, при инсталляции сюда тоже кладутся все необходимые программе файлы, что позволяет легко откатываться после неудачных модификаций конфигурации.

Установка FDTracer

Заходим на сайт.
Качаем и распаковываем FDTracer.dll.
Копируем библиотеку в "C:\Documents and Settings\ЮЗЕР\Local Settings\Application Data\FlashDevelop\Plugins\".

Создаем в папке "C:\Documents and Settings\ЮЗЕР\" (для Windows XP, остальное - подробнее здесь) файл "mm.cfg". В нем достаточно прописать
ErrorReportingEnable=1
TraceOutputFileEnable=1
Теперь в папке "C:\Documents and Settings\ЮЗЕР\Application Data\Macromedia\Flash Player\Logs\" будет создан log-файл "flashlog.txt". Этот файл будет постоянно сканировать наш плагин.

Кроме того, для работы плагина требуется, чтобы отлаживаемые SWF проигрывались Debug-версией Flash Player.

Пускаем FD. Видим новую панельку FDTracer.
Идем в Tools > Installed plugins > FDTracer settings.
Указываем C:\Documents and Settings\ЮЗЕР\Application Data\Macromedia\Flash Player\Logs\flashlog.txt.
Установка завершена.

Пробуем. Запустив тестовый проект, получаем трейс. И в панели Output и в панели FDTracer. Что ж, будем иметь под рукой расширенный просмотровщик трейсов.

Установка Zinc

Заходим на официальный сайт и качаем.

Продолжение следует.

Настройка ASDoc для FlashDevelop

Для начала посмотрим что-нибудь интересное на официальном сайте.
Здесь есть что-то про ASDoc. Пробуем следовать инструкциям. Никакого эффекта. Новой кнопки в тулбаре не появляется... Странно похоже, что FD глубоко наплевать на файлы ToolBar.xml и т.п. Всё. Понял. Теперь все файлы программы располагаются в C:\Documents and Settings\ЮЗЕР\Local Settings\Application Data\FlashDevelop\Settings.
А менял я файлы оставшиеся от старой версии! По команде Application Files, открывается проводник в нужной папке. Там и надо действовать.
Теперь следуем инструкции дальше.
Вставляем
<button label="Generate ASDOC" click="RunProcessCaptured" image="95" tag="$(ASDoc);-doc-sources "$(ProjectDir)/src" -main-title "$(ProjectName)" -output "$(ProjectDir)/doc"" />
Теперь, если в проекте есть папка "src", всё отлично работает, генертися документация по всем классам, даже с алфавитным указателем. Впечатлило!

Устанавливаем FlashDevelop 3.0.0 Beta3

Заходим на FlashDevelop 3.0.0 Beta3 released и качаем. Ставим. Запускаем.
Открываем старый проект. Пробуем запустить. Просит установить настройки компилятора. Они сбросились. Устанавливаем путь к Flex SDK. Всё равно ошибка. Странно.
Попробуем создать новый проект. В окне создания проекта добавилось много новых пунктов. Запускаем. Нет. Всё равно не находит путь к компилятору.
Все ясно. Я указывал полный путь к компилятору "C:\Program Files\FlashDevelop\Flex2SDK\bin", а нужно путь ко всему Flex SDK "C:\Program Files\FlashDevelop\Flex2SDK".
Всё заработало. Старые проекты открываются и компилятся.

Порадовало что убрали FlashConnect, а значит будет что-то более удобное для отладки и трейса. Но это мы позже попробуем.

Переустанавливаем Flash ActiveX для IE

Переустанавливаем флэш-activeX для IE как написано здесь или здесь. Сначала скачали uninstaller. Запустили "uninstall_flash_player.exe /clean". Все прошло нормально. Говорит, последняя версия удалена. Здесь это проверяется - действительно, не установлен. Теперь скачали и запустили Download ActiveX Control for Windows Internet Explorer. Установилось. Проверяем. "You have version 9,0,60,184 installed". Отлично, IE не предлагает выполнить или сохранить, а сам воспроизводит.

Пробуем Adobe AIR update Beta 1 для Flash CS3

Вдохновившись статьей на флэш-риппере, ломимся на labs.adobe.
Качаем: Adobe AIR update for Flash CS3 Professional for Windows (13 MB) .
Заодно качаем Download the Adobe AIR Installer.

Устанавливаем. Предлагает закрыть IE и Flash CS3. Сволочь. Закрыли, установили.
Запускаем flash. В Welcome Screen появился новый пункт насчет AIR, и при его выборе создался новый проект. В его Publish Settings > Flash > Version теперь есть пункт Adobe Air 1.0 и он сейчас выбран.

К сожалению, такого выбора AIR-проекта не предоставили в New Project. Но, думаю, это не важно, т.к. в настройках проекта мы всегда можем установить нужную версию. Появились две новые команды в меню Commands.

При компиляции файла, в том же каталоге появился одноименный SWF-файлу XML.
Команда AIR Application & Installer Settings открывает окно с настройками AIR-пакета. Здесь мы нажмем кнопочку Package. Теперь у нас есть AIR-пакет. Запустим его. Предлагается установить наше приложение. Всё красиво и культурно. Установили и запустили - всё работает!

Команда Package AIR File также создает AIR-пакет.

Создание компонента во Flash CS3 IDE

Создаем новый Fla для AS3.
Добавляем компонент Flex Component Kit - про него вкратце я писал здесь. Создаем символ "_name_". Вызываем команду Make Flex Component. Получаем в Output: "Component "_name_" is ready to be used in Flex." В свойствах Linkage символа произошли изменения - символ предназначен для экспорта в ActionScript. В свойствах публикации отмечаем Export SWС. Публикуем.
Добавляем в свойствах проекта ActionScript Build Path > Library path > Add SWC наш компонент. Теперь в коде можно использовать класс нашего символа "_name_".

Возникла проблема с обновлением компонента. Если просто его скопировать поверх старого, при компиляции Flex - проекта ничего не изменится. Если файл компонента "перетащить" в папку проекта в окне Flex, компонент успешно обновляется.

Установка Flex Builder 3 и его плагин под Eclipse

Ставлю Flex Builder Plugin под Eclipse.
Запускаем инсталлятор. Единственное что смутило - спросил установить дебаг-версии плагинов FlashPlayer 9, а я только сегодня поставил свежие версии. Интересно, они поверх встали?.. (Да, поверх.)
Всё установилось. Спрашивает, хочу ли я прочитать инструкции по установке расширений Coldfusion для Flex Builder 2 (почему то 2). Смотрим. ColdFusion MX 7.0.2 у меня не установленно, так что не вижу смысла читать дальше. Запомним на будущее они лежат здесь: C:\Program Files\Adobe\Flex Builder 3 Plug-in\ColdFusion Extensions for Flex Builder\Installing the ColdFusion Extensions for Flex Builder Moxie.htm
Запускаю из меню Пуск. Спрашивает где будет папка для workspace. Создаю, указываю.

Окошко Welcome весьма привлекательно.
Создаем новый проект - выбрал Flex project. Даю название, тип сервера - никакой. Версия Flex SDK - по умолчанию Flex Moxie M2. Можно задать еще ряд параметров. Оставим пока всё как есть. Таак. началось. Спрашивает серийный номер... Интересненько. Нажал Purchase, на что после нескольких ошибок в дисководе F, выкинуло на сайт. Странно, что никаких намеков на Flex там нет. По-видимому заглушка на будущее. Ладно. Тогда "Try". Ну вот, собственно мы видим наш Flex Development.

Ладно, закрываем пока. На месте нашего проекта создалось множество файлов и папок, причем, проект уже скомпилировался и появились несколько версий SWF.

Попробуем-ка теперь установить Flex Builder таким как он есть.

Запускаем. Инсталлятор задает все аналогичные вопросы. В итоге получаем всё то же самое, внешнее различие незначительно – заключается в дизайне виджетов и расположении иконок. Позже обнаруживаются и другие различия.
Сравниваю. Пока склоняюсь к дальнейшей работе на Eclipse.

Беру пример из движка Fisix, выбираю New ActionScript Project. Добавляю размещение SWC в разделе Project > Properties > ActionScript Build Path > Library path > Add SWC,
копирую в корень проекта файл AS-кода, ставлю Set As Default Application.
Наше приложение отлично работает. Даже работает trace в окне Console.

Подсказки работают (принудительно - Ctrl+Space). Работают адекватно только если файл открыт в рамках проекта. Help работает превосходно.
С нормальной подсветкой пока глухо. Попробуем поискать плагины.

Установка Flex Builder 3.0, Eclipse

Сегодня скачал Flex Builder 3.0 и Flex Builder Plugin для Eclipse с labs.adobe.com. Пусть будут. Разберемся что лучше. Тем и будем пользоваться.

Кстати, качаем последний релиз Eclipse. На сайте, в разделе Downloads предлагается несколько вариантов этой платформы, заточенных под разные направления программирования.
Интересно - с OSFlash идет ссылка на другой раздел. Ага. OSFlash нас призывает пользоваться Web Tools Platform. Точно - в разделе Downloads справа в меню есть такая ссылка. Слева тоже есть просмотр всех проектов By project, в котором находим WST - Web Standards Tools. А вот здесь новости проекта.

Ну всё. Качаем отсюда. Качаем wtp-all-in-one-sdk-win32 - всё в одном. Итальянский линк качается лучше. Запускаем. Впечатлило! Но ничего не понятно. Пока. Для начала поставим под это дело Flex. Но это в следующей серии.

Устанавливаем редактор FlashDevelop

Найти FlashDevelop можно здесь: http://www.flashdevelop.org/community/
Сайт производителя не впечатлил. По-видимому, разработчик не стал заморачиваться и с главной страницы сразу перекидывает редиректом на форум. Здесь, собственно, можно и скачать, прочитать новости и тут же всё это обсудить. Такой аскетизм свойственен Open Source.

Смотрим последний релиз: FlashDevelop 3.0.0 Beta2 released.
Качаем, устанавливаем. Не устанавливается. Ах да! Забыли поставить .NET framework.
Качаем Microsoft .NET 1.1 SP1 framework. Теперь установилось.
И вообще, почитаем-ка что тут пишут. Многообещающие списки нововведений радуют глаз. Просят материальной помощи. Ага, еще надо качнуть Download Adobe Flex 2 SDK и рекомендуют Download Adobe Flex Compiler SHell.
Долго копал как задействовать эти приблуды. Оказалось, Flex 2 SDK надо просто развернуть в любой каталог, и Flex Compiler Shell в него же. Затем зайти в Tools > Installed Plugins > AS3 Context > Settings > Flex 2 SDK Location и прописать здесь полный путь к этому каталогу.
Позже после множества бесплодных попыток скомпилировать что-нибудь, выяснилось что нужна еще и JRE (Java Runtime Environment). Я качнул ее отсюда: Java Runtime Environment Download from Sun Microsystems. Википедия в этом здорово помогла.

Итак, забегая вперед, .AS-скрипты успешно компилятся средствами Flex 2 SDK.
К сожалению, не могу подробно изложить весь процесс освоения установки этого продукта со всеми его ошибками и непонятками. Это было не сегодня. Сегодня я просто поставил всё выше перечисленное на свой домашний ноут, и всё прилежно заработало.

PS: И главное все впаривают Гугловскую панель поиска! Паразитов всяких разводить.