![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Имеется вот такой код, вызывающий функцию методом Flash Remoting
По нажатию на кнопку инициализируется сервис, в качестве объекта, отлавливающий события используется текущий (точнее родитель для кнопки), а функции удачного и неудачного вызова расположены непосредственно в текущем объекте. Во временной шкале это всё работает. Если переместить в класс, то есть в AS2, то работать напрочь отказывается. Точнее, сервис стартует, возвращает нужное число и это видно с помощью дебагера, а сами функции не вызываются. Все варианты расположения этих функций уже перепробовал и с различными объектами вместо "this._parent" проверял. Самый тупой способ: назначить объектом _root и поместить туда эти функции не работает. Функции не вызываются. Аналогичную проблему описали здесь http://www.flash-db.com/Board/index.php?topic=11206.0 и ответ найти не удалось. Возможно кто то наблюдал подобное в другом контексте, когда не находился объект "отлавливающий" события. Поделитесь опытом, как это решать. function getNewId(msg: ResultEvent){
mx.remoting.debug.NetDebug.trace({level:"Debug", message:"onEchoData" });
playerId = Number(msg.result);
show.text = msg.result
}
function onEchoFault(rs: FaultEvent ){
mx.remoting.debug.NetDebug.trace({level:"None", message:"There was a problem: " + fault.fault.faultstring });
}
newPlayer.onPress = function(){
var pc:PendingCall = myService.newPlayerAMF();
pc.responder = new RelayResponder(this._parent, "getNewId", "onEchoFault" );
}
__________________
Бесплатная Flash CMS Qubix с открытым кодом и индексацией в поисковиках. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А импорт-то нужных классов прописан?
|
|
|||||
|
Да, импорт прописан, я просто не стал весь код приводить.
Полный код работал в кадре, проблемы начались после переноса в класс.
__________________
Бесплатная Flash CMS Qubix с открытым кодом и индексацией в поисковиках. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Хм, я ооочень давно работал с AMF, но проблем не возникло.
Вот декомпил (исходников с собой нет) одной из моих флешек: class ru.etcs.nokia.guestbook.Receiver
{
var addEventListener, service, pc, dispatchEvent;
function Receiver (callback, message) {
mx.events.EventDispatcher.initialize(this);
addEventListener("onLoadSuccess", callback);
addEventListener("onLoadFailed", callback);
service = new mx.remoting.Service("/flashservice/gateway.php", null, "DataLoader", null, null);
var _local2 = Function(service.loadMessage);
pc = _local2.call(service, ((message != undefined) ? (message) : null));
pc.__set__responder(new mx.rpc.RelayResponder(this, "onSuccess", "onFailure"));
}
function onSuccess(result_event) {
var _local5 = result_event.__get__result();
var _local3 = _local5.points;
var _local2 = 0;
while (_local2 < _local3.length) {
var _local4 = _local3[_local2];
_local3[_local2] = ru.etcs.nokia.core.Hex.binToArray(_local4, 3);
_local2++;
}
dispatchEvent({type:"onLoadSuccess", result:_local5});
}
function onFailure(failure_event) {
trace ("Fault");
dispatchEvent({type:"onLoadFailed"});
}
}
![]() |
|
|||||
|
вот на всякий случай:
import mx.remoting.Service; import mx.services.Log; import mx.rpc.RelayResponder; import mx.rpc.FaultEvent; import mx.rpc.ResultEvent; import mx.remoting.PendingCall; ага, попробую а onFailure в принципе не заработал? или он не нужен был?
__________________
Бесплатная Flash CMS Qubix с открытым кодом и индексацией в поисковиках. Последний раз редактировалось etc; 10.08.2007 в 13:42. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Я не знаю, либо это старая версия Remoting, либо AMFPHP. onFailure не работал изначально, решать проблему было лень, да и было это полтора года назад.
|
|
|||||
|
понял, учту
этот исходник тоже древний изначально был, 2004 года, хотя очевидной разницы нет
__________________
Бесплатная Flash CMS Qubix с открытым кодом и индексацией в поисковиках. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|