у меня аналогичная ситуация. Однако, если взять пример из приложения (ball_motion_04_click for trial.fla) то след остается. при этом заметил, что в моем проекте в поле "One item in library" виден кружок, в то время как в приложенном примере такого кружка нет. Вопрос знатокам, что не так? |
Flash, ColdFusion и Remoting
Удаленный сервис Flash Remoting
Flash MX шагнул далеко вперед в предоставлении средств для разработчиков Flash. Интеграция Flash с серверами приложений стала еще теснее. Macromedia разработал новую интересную возможность для интеграции: удаленный сервис Flash Remoting. Flash Remoting облегчает разработчикам передачу сложных данных на сервер и с сервера (в нашем случае это CF). Теперь Flash и CF могут легко обмениваться наборами записей и отдельными объектами. Flash Remoting не ограничивается лишь CF и доступен для таких платформ серверов приложений, как JRUN, .NET и J2EE.
Служба Flash Remoting предназначена для разработчиков, работающих с динамическим содержимым. Она позволяет осуществлять прямые вызовы к CF или любому серверу приложений, на котором выполняется служба. Это также двусторонний коммуникационный процесс, при котором данные могут передаваться из Flash на сервер. Здесь предоставляется возможность реализовать новый и улучшенный способ связи с сервером, в отличие от более старых методов, таких как getURL и loadVariables. Эти методы нисколько не устарели, однако метод для передачи сложных данных через Flash Remoting предпочтительнее. Он понятнее и также обеспечивает возможность создания компонентов многоразового использования на серверной части.
Например, нужно построить схему аутентификации, которую можно использовать в различных ситуациях. Все, что надо сделать, это построить необходимые компоненты внешнего интерфейса, а также саму систему, которая проверяет базу данных для подтверждения данного пользователя. Эти компоненты можно повторно использовать в будущих приложениях, не создавая их вновь "с чистого листа".
Связь между Flash и сервером осуществляется через шлюз Flash gateway - компонент серверной части Flash Remoting. Шлюз Flash передает данные на сервер и принимает их от него и может поддерживать сложные данные, такие как объекты и наборы записей. Наборы записей могут передаваться только с сервера во Flash, однако они примечательны тем, что хорошо структурированы и помогают максимизировать эффективность канала связи. Возможность передачи наборов записей напрямую из CF во Flash делает минимальным любой бесцельный обмен данными.
Flash Remoting передает данные между Flash и сервером через Action Message Format (AMF). AMF передается по HTTP и предоставляет более эффективные и полезные средства связи. На следующем рисунке показан процесс коммуникации между Flash и сервером приложений.
Передача данных осуществляется с использованием нового набора классов ActionScript, устанавливаемых вместе с Flash Remoting. Эти классы включают в себя следующие пункты.
- NetServices - это абстракция NetConnection, предоставляющая средства коммуникации со шлюзом Flash gateway.
- NetConnection создает двойное соединение между Flash и удаленными службами.
- NetDebug является методом отладки приложений Flash и работает совместно с NetConnect Debugger.
- RecordSet поддерживает объекты набора записей, возвращаемые с сервера приложений и предоставляет различные методы доступа и управления данными наборов записей.
- DataGlue предоставляет возможность присваивания объектов наборов записей компонентам Flash UI, таким как компонент ListBox.
Эти классы содержат много способов доступа и управления данными. На следующем рисунке показаны доступные методы для каждого из этих классов.
За более детальной информацией по методам классов Flash Remoting обратитесь к справке по ActionScript во Flash MX (Window > Reference). Мы подробнее рассмотрим структуру кода при изучении персонального приложения управления в следующем параграфе.
Настройка на Remoting
В следующем приложении используются компоненты Flash Remoting, Их можно загрузить с сайта www.macromedia.com/software/flash/flashremoting. Установка этих компонентов обеспечит вас необходимыми классами ActionScript и документацией для изучения различных классов и их методов. Как только упомянутые компоненты будут установлены вместе с ColdFusion MX, можно приступать к разработке приложения PMA.
Приложение PMA для работы с контактами
Это приложение создается для реализации примера, отражающего интеграцию Flash/CF. Оно называется PMA (Personal Management Application) и позволяет управлять контактами и их информацией через веб-браузер. Мы не ограничены лишь веб-браузером, так как фильм Flash можно преобразовать в отдельный файл проекта. PMA продемонстрирует всю мощь возможностей Flash и ColdFusion MX, позволив пользователям управлять базой данных контактов, а также информацией о них. Все это будет объединено в базу данных Microsoft Access в целях тестирования и демонстрации. Компоненты Flash MX будут использоваться для расширения навыков пользователя, а компоненты ColdFusion (CFC) - в серверной части. Это прекрасный пример использования и интеграции новых технологий.
Для использования этой базы данных необходим компьютер с установленным приложением Microsoft Access.
База данных
Для построения полнофункционального приложения необходимо обеспечить пользователей возможностью добавлять новые контакты, а также обновлять и удалять имеющиеся записи контактов. Flash будет выступать в роли пользовательского интерфейса, отображающего контактную информацию и позволяющего пользователю взаимодействовать с интерфейсом. Взаимодействие можно осуществлять, выбирая формы контакта из списка ListBox или щелчком на PushButton для выполнения определенного действия. ColdFusion будет поддерживать логику приложения, запрашивающую базу данных и необходимые компоненты серверной части.
Ключом к созданию динамического веб-приложения является уверенность в том, что все данные структурированы. Посмотрите на базу данных в файле pma.mdb, который поставляется вместе с исходными файлами, и откройте таблицу Contacts. Эта таблица содержит контактную информацию: имя, фамилия, адрес, адрес электронной почты и т.д. Ниже приведена структура данных для таблицы контактов.
id послужит главным ключом для каждой записи контакта и будет активно использоваться при передаче информации между Flash и ColdFusion. Поле id будет полезным при обновлении контактов или их удалении.
- Сохраните базу данных pma.mdb на жестком диске.
- Перед осуществлением какой-либо связи нужно создать имя источника данных (DSN) в ColdFusion Administrator. Откройте Administrator, перейдя в браузере по адресу http://localhost/cfide/administrator/index.cfm.
- Войдя в CF Administrator щелкните на ссылке Data Sources (под Data & Services) и добавьте ваш DSN, которым является pma. Не забудьте указать Microsoft Access в ниспадающем меню Driver, после чего нажмите Add. В следующем диалоговом окне укажите, в каком месте на сервере находится файл базы данных.
- В этом приложении мы будем считать pma в качестве DSN, ссылаясь на него с помощью шаблона. Откройте текстовый редактор и введите следующий текст.
<cfset request.dsn = "pma">
- Теперь назовите файл Application.cfm и сохраните его в новой папке с именем pma в корневой директории.
Можно изменить имя папки, если это понадобится, однако, в этом случае, не забудьте обновить шаблон Application.cfm для отражения изменения имени папки. Этот шаблон устанавливает ориентированную на запрос переменную с именем request.dsn, доступ к которой осуществляется через CFC. Эта переменная устанавливается в Application.cfm как глобальная, ее можно изменить за один раз, не обновляя остального кода в приложении. Все запросы в приложении ссылаются на эту переменную, которая указывает на наш файл базы данных pma.mdb.
Если вы хотите просто запустить имеющиеся на компакт-диске файлы, а не создавать их с "чистого листа", не забудьте разархивировать файлы, содержащиеся в pma.zip в подкаталог вашего корневого каталога. Чтобы PMA запустилось с первого раза, файлы должны быть расположены в директории с именем pma прямо под вашим корневым расположением веб. Структуру директории можно изменять, однако ActionScript придется редактировать для указания нового местоположения. Обсудим вкратце этот процесс.
- Если вы не хотите изменять ActionScript, настройте структуру директории PMA следующим образом.