![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 3
|
Добрый день,
у меня возникла проблема с передачей аргументов типа array и object из с++ приложения во флеш на AS3. public function xHandler(... args):void { output.appendText("Somthing Recieved!!!! \n"); for (var i:uint = 0; i < args.length; i++) { output.appendText("Argument N" + i + ": " + args[i] + "\n"); } } Кстати, даже если передавать одну строку, то аргументов у функции становиться почему-то 3, первый и последний из которых undefined, а вот только 2ой тот который нужен. Кто-нибудь сталкивался с такой проблемой? Как передать массив или объект во флеш? Добавлено через 17 минут Ошибка выдается следующая Error #1086: The name method only works on lists containing one item. at XMLList/http://adobe.com/AS3/2006/builtin::name() at () at flash.external::ExternalInterface$/flash.external:ExternalInterface::_toAS() at flash.external::ExternalInterface$/flash.external:ExternalInterface::_arrayToAS() at flash.external::ExternalInterface$/flash.external:ExternalInterface::_toAS() at flash.external::ExternalInterface$/flash.external:ExternalInterface::_argumentsToAS() at flash.external::ExternalInterface$/flash.external:ExternalInterface::_callIn() at () |
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
Собственно длину нормально показывает. Да и мата никакого не надблюдается...
Последний раз редактировалось Obi; 29.12.2008 в 17:37. |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 3
|
Дело в том, что из с++ запросы приходят в виде:
<invoke name="functionName" returntype="xml"> <arguments> ... (individual argument values) </arguments> </invoke> который по идее разбирается средствами ExternalInterface... Добавлено через 5 минут if (ExternalInterface.available) { ExternalInterface.addCallback("x", xHandler); } public function xHandler(... args):void { output.appendText("Somthing Recieved!!!!\n"); for (var i:uint = 0; i < args.length; i++) { output.appendText("Argument N" + i + ": " + args[i] + "\n"); } } |
|
|||||
|
Modus ponens
|
Похоже что вы сами пытаетесь создать этот ХМЛ? Я прав? Если да, то ошибка вам говорит о следующем:
вы неправильно составили ХMLList, и в нем не должно быть больше 1 топ элемента. Т.е.: Если вы уберете [0] то получите ту же ошибку.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 3
|
Большое спасибо за предыдущий совет! Он открыл мне глаза на то, что действительно происходило - дело в сторонней библиотеке (Qt), которая неправильно передает параметры в контейнер. Даже баг уже такой на оф.сайте занесен... )
|
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
возникла аналогичная проблема, но при попытке передачи из C++ во флэш данных в виде XML.
Получается (если верить lebeg), что при передаче во флэш, данные приводятся к такому формату: так? |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:08. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| c++ , externalinterface |
|
|