textLayout在快速输入清除时报错解决方法
var tf:TextFlow;
var len:int = tf.numChildren;
for (var i:int = 0; i < len; i += 1)
{
tf.removeChildAt(0);
}
tf.flowComposer.composeToPosition();
tf.flowComposer.updateAllControllers();
TypeError: Error #1009: 无法访问空对象引用的属性或方法。
at flashx.textLayout.edit::ParaEdit$/insertText() flashx\textLayout\edit\ParaEdit.as:54]
at flashx.textLayout.operations::InsertTextOperation/doInternal() flashx\textLayout\operations\InsertTextOperation.as:196]
at flashx.textLayout.operations::InsertTextOperation/doOperation() flashx\textLayout\operations\InsertTextOperation.as:223]
at flashx.textLayout.edit::EditManager/doInternal() flashx\textLayout\edit\EditManager.as:723]
at flashx.textLayout.edit::EditManager/doOperation() flashx\textLayout\edit\EditManager.as:603]
at flashx.textLayout.edit::EditManager/flushPendingOperations() flashx\textLayout\edit\EditManager.as:873]
at flashx.textLayout.compose::StandardFlowComposer/updateToController() flashx\textLayout\compose\StandardFlowComposer.as:554]
at flashx.textLayout.compose::StandardFlowComposer/updateAllControllers() flashx\textLayout\compose\StandardFlowComposer.as:517]
tf.interactionManager.selectRange(tf.textLength, tf.textLength);
TypeError: Error #1009: 无法访问空对象引用的属性或方法。
at flashx.textLayout.edit::ParaEdit$/insertText() flashx\textLayout\edit\ParaEdit.as:54]
at flashx.textLayout.operations::InsertTextOperation/doInternal() flashx\textLayout\operations\InsertTextOperation.as:196]
at flashx.textLayout.operations::InsertTextOperation/doOperation() flashx\textLayout\operations\InsertTextOperation.as:223]
at flashx.textLayout.edit::EditManager/doInternal() flashx\textLayout\edit\EditManager.as:723]
at flashx.textLayout.edit::EditManager/doOperation() flashx\textLayout\edit\EditManager.as:603]
at flashx.textLayout.edit::EditManager/flushPendingOperations() flashx\textLayout\edit\EditManager.as:873]
at flashx.textLayout.compose::StandardFlowComposer/internalCompose() flashx\textLayout\compose\StandardFlowComposer.as:711]
at flashx.textLayout.compose::StandardFlowComposer/composeToPosition() flashx\textLayout\compose\StandardFlowComposer.as:837]
报错在ParaEdit.as,sibling为null
var sibling:FlowElement = textFlow.findLeaf(absoluteStart);
var siblingIndex:int;
var paragraph:ParagraphElement = sibling.getParagraph();
问题貌似是因为EditManager.as里insertText方法中的Event.ENTER_FRAME,这个下一帧处理好像会导致快速输入删除时候的不同步
if (captureLevel == 0 && origOperationState == null && controller && controller.container && allowDelayedOperations)
{
enterFrameListener = controller.container;
enterFrameListener.addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 1.0, true);
}
else
flushPendingOperations();
我的解决方法是同步处理 不让他下一帧处理 设置 EditManager(tf.interactionManager).allowDelayedOperations = false;
问题解决 具体为什么 还不是很清楚,先这么用着吧,如果有大神知道,希望可以交流
textLayout在快速输入清除时报错解决方法的更多相关文章
- mysql truncate带有被引用外键的表时报错解决方法
清空具有外键约束的表时报ERROR 1701(42000)的解决 mysql> truncate table t_users;ERROR 1701 (42000): Cannot trunc ...
- rebuild online时意外中断 再次重建时报错解决方法
rebuild online时意外中断 再次重建时报错 SQL> alter index PARTY.IDX_CM_INDIV_CUSTOMER_4 rebuild online; alter ...
- 安装redis 执行make命令时报错解决方法
一.未安装GCC 解决方法:执行yum install gcc-c++命令安装GCC,完成后再次执行make命令 yum install gcc-c++ Linux无法连接网络 http://www. ...
- XML节点名称中有小数点处理(deal with dot)导致使用xpath时报错解决方法
<?xml version="1.0"?> <ModifyFiles> <_Layout.cshtml>123456</_Layout.c ...
- python运用中文注释时报错解决方法
写了一段简单的代码,不知 为什么总是报错,后来上网查了一下才知道原因,当用中文进行注释时需要添加如下代码:# coding=utf-8 (注意:该段代码必须放在最前面才能有用,并且 ...
- react创建项目后运行npm run eject命令将配置文件暴露出来时报错解决方法
最近在用create-react-app创建项目,因要配置各种组件,比如babel,antd等, 需要运行npm run eject命令把项目的配置文件暴露出来,但是还是一如既然碰到报错,因为是在本地 ...
- 解决loadrunner在脚本回放时长时间等待及在vugen中create controller scenario时报错的方法!超管用!!
解决loadrunner在脚本回放时长时间等待及在vugen中create controller scenario时报错的方法 经过咨询,有两种方法.经过实践,下面的方法1有效,方法2无效(我下载安装 ...
- asp.net MVC webservice 报次错解决方法
asp.net MVC webservice 报次错解决方法: 解决方法: 在 RouteConfig.cs public static void RegisterRoutes(RouteCol ...
- redhat linux enterprise 5 输入ifconfig无效的解决方法
redhat linux enterprise 5 输入ifconfig无效的解决方法 在安装完成linux后,进入终端,输入命令行ifconfig,会提示bash: ifconfig: comm ...
随机推荐
- MSSQLSERVER数据库- 一条代码搞定单表备份表结构和表数据
在百度上找到的,很实用这个容易操作,不就两张表,我的建议就是备份表带上日期,以便以后要恢复数据的时候,可以快速找到他,这样备份是表结构和数据一起处理.select * into share_20090 ...
- (10.09作业)学生选课数据库SQL语句练习题
- Android事件分发原理
终于用上了word 2013来写博客,感觉真是老好了,以前在网页上写,老是要把网页拖上拖下的,每次都要吐一升老血啊,现在用上本地的word,瞬间感觉好多了.还有感谢为word写插件的这个大神,代码高亮 ...
- java线程知识点
1. 进程与线程 一个进程拥有多个线程,多个线程共享进程的内存块.操作系统不分配新的内存,因此线程之间通信很容易.不同的进程因处于不同的内存块,因此进程之间通信较为困难. 进程:每个进程都有独立的代码 ...
- Hibernate级联操作 注解
EJB3 支持的操作类型 /** * Cascade types (can override default EJB3 cascades */ public enum CascadeType { AL ...
- iOS开发——OC篇&协议篇/NSCoder/NSCoding/NSCoping
协议篇/NSCoder/NSCoding/NSCoping 协议声明类需要实现的的方法,为不同的类提供公用方法,一个类可以有多个协议,但只能有一个父类,即单继承.它类似java中的接口. 正式协议(f ...
- iOS开发——面试指导
iOS面试指导 一 经过本人最近的面试和对面试资料的一些汇总,准备记录这些面试题,以便ios开发工程师找工作复习之用,本人希望有面试经验的同学能和我同时完成这个模块,先出面试题,然后会放出答案. 1. ...
- Andropid自己定义组件-坐标具体解释
在做一个view背景特效的时候被坐标的各个获取方法搞晕了,几篇抄来抄去的博客也没弄非常清楚. 如今把整个总结一下. 事实上仅仅要把以下这张图看明确就没问题了. watermark/2/text/aHR ...
- [010]转+修正---C++的贪吃蛇程序(未用面向对象封装)
在网上看到一段贪吃蛇程序,自己心痒下了下来又稍微做了一点修改. 没有用面向对象的方式来进行封装,下次准备试试. 需要在windows环境下进行编译 #include<iostream> # ...
- 八、套接字(Socket)
demo 一个连接由它的两个端点标识,这样的端点称为套接 套接字是支持TCP/IP协议的网络通信的基本操作单元. 可以将套接字看作不同主机间的进程进行双向通信的端点. 上图连接1的一对套接字为: (1 ...