Превратите мое приложение Flex в Adobe Air. Запуск PHP в воздухе - PullRequest
2 голосов
/ 27 февраля 2010

Я новичок в Adobe AIR / Flex.

Я разработал простое веб-приложение Flex. что через 2 Php, может подключиться к БД и вернуть XML-результат запроса. Я загрузил файлы PHP и Flex на свой интернет-сервер и в приложение. отлично работает.

Мой вопрос:

Как я могу сделать то же приложение. работать в Adobe AIR? Другими словами, я создал новый проект AIR и скопировал / вставил код Flex. Когда я запускаю проект, он не работает и говорит что-то вроде:

[RPC Fault faultString = "Ошибка № 2070: Нарушение изолированной программной среды безопасности: вызывающая сторона не может получить доступ к сцене, которой владеет." faultCode = "Client.CouldNotDecode" faultDetail = "null"] на mx.rpc.http :: HTTPService / http://www.adobe.com/2006/flex/mx/internal::processResult()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\http\HTTPService.as:851] на mx.rpc :: AbstractInvoker / http://www.adobe.com/2006/flex/mx/internal::resultHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:188] в mx.rpc :: Responder / result () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ rpc \ src \ mx \ rpc \ Responder.as: 43] в mx.rpc :: AsyncRequest /cknowledge () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ rpc \ src \ mx \ rpc \ AsyncRequest.as: 74] в DirectHTTPMessageResponder / completeHandler () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ rpc \ src \ mx \ messaging \ channel \ DirectHTTPChannel.as: 403] на flash.events::EventDispatcher/dispatchEventFunction () на flash.events::EventDispatcher/dispatchEvent () на flash.net::URLLoader/onComplete()

Так что я думаю, что в моем приложении AIR. Я не могу написать службы HTTP. Или, может быть, я не могу использовать файл php, который подключается к БД, делает запрос, а затем возвращает XML. Как я могу преобразовать приложение Flex. в приложении AIR. Должен ли я использовать SQLConnect и все такое? Не могу ли я использовать файлы моего php, которые хорошо работают?

Спасибо.

С уважением.

Alan

1 Ответ

0 голосов
/ 27 февраля 2010

Вы можете писать приложения AIR, которые подключаются к вашему PHP, я использую coldfusion и java, поэтому не совсем уверен, какие будут различия, но их не должно быть на стороне сервера.

Для приложения AIR потребуется доступ или скомпилированный файл services-config.xml и три файла, которые он включает. Для моих приложений AIR казалось, что «include» в файле servies-config.xml не работает, и мне пришлось скопировать содержимое этих трех файлов в основной файл.

В строке компиляции вам потребуется что-то вроде: -services "C: \ Blazeds \ tomcat \ webapps \ chat \ WEB-INF \ flex \ services-config.xml" (извините, я разрабатываю на машине с Windows), но вам потребуется полный путь к вашему файлу services-config.xml. Эта строка в моих Дополнительных Аргументах Компилятора с моей опцией локали.

Для этого также необходимо создать проект с опцией на стороне сервера.

Возможно, вы захотите также переместить код в отдельный проект, а затем использовать и ваш AIR, и веб-приложение для использования этого третьего проекта с кодом. Тогда одно изменение в коде может повлиять на обе версии, что, конечно, означает, что все придется перекомпилировать.

PS. Я считаю, что программирование Adobe AIR Unleashed - хорошая книга для этой информации.

...