热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在flex中一个as类里dispatch了一个事件,主程序中无法接受,是怎么回事?如何修改?

一个as类中,当数据处理完毕后发送一个finish的事件,然后希望在主程序applicatioin中监听并接受到这个事件,进行后续处理,源代码大致如下:Network.as:packa
一个as类中,当数据处理完毕后发送一个finish的事件,然后希望在主程序applicatioin中监听并接受到这个事件,进行后续处理,源代码大致如下:

Network.as:

package control
{
import flash.events.Event;
import flash.events.EventDispatcher;
[Event(name="finish", type="flash.events.Event")]
public class Network extends EventDispatcher
{
public function Process():void
{
....
DispatchFinishEvent();
}
public function DispatchFinishEvent():void
{
var e:Event = new Event("finish");
var ret:Boolean = this.dispatchEvent(e);
trace(ret);
}
}
}

Main.mxml:




import control.Network;
public function initApp():void
{
addEventListener("finish", showAll);
var testNetwork:Network = new Network();
testNetwork.Process();
}
public function showAll():void
{
trace("success receive");
}

]]>




可以看到,DispatchFinishEvent()函数是运行了的,但是无论如何都不能接收到finish事件,showAll函数进不去,试图在Application标签里放入finish="showAll()",会报错显示无法找到finish这个属性,这是怎么回事?帮我看看,多谢了!

5 个解决方案

#1


先注册事件.  

这样是不行的.

你是先监听,在注册.




#2


我在Network.as文件中的这句
[Event(name="finish", type="flash.events.Event")] 
不是注册事件吗?
那应该怎么修改才能先注册再监听呢?  多谢了!

#3



layout="absolute"
min
min>

import control.Network;
import mx.controls.Alert;

// private var testNetwork:Network=new Network();

public function initApp():void
{
var testNetwork:Network=new Network();
testNetwork.addEventListener("finish", showAll); testNetwork.Process();

}

public function showAll(event:Event):void
{
Alert.show("success receive");

}
]]>

   id="btn"
   y="196"
   label="Button"
   click="initApp()"/>








package control
{
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.IEventDispatcher;

[Event(name="finish", type="flash.events.Event")]
public class Network extends EventDispatcher
{
public function Process():void
{

this.dispatchEvent(new Event("finish"));
}

}
}




#4


没错,是我疏忽了,呵呵

#5


没有得到效果

推荐阅读
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 在本教程中,我们将深入探讨如何使用 Python 构建游戏的主程序模块。通过逐步实现各个关键组件,最终完成一个功能完善的游戏界面。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 本文探讨了如何通过预处理器开关选择不同的类实现,并解决在特定情况下遇到的链接器错误。 ... [详细]
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 中科院学位论文排版指南
    随着毕业季的到来,许多即将毕业的学生开始撰写学位论文。本文介绍了使用LaTeX排版学位论文的方法,特别是针对中国科学院大学研究生学位论文撰写规范指导意见的最新要求。LaTeX以其精确的控制和美观的排版效果成为许多学者的首选。 ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
author-avatar
篱边_水祭
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有