前段时间项目测试突然发现中文输入不正常,有时IME会失效,反复测试后发现这是fp10.1的一个bug.
然后提交到 http://bugs.adobe.com/jira/browse/FP-4813
可是正式版的flashplayer已经发布了,要修复这个bug也要等到下个flashplayer版本 
我们的项目可等不了那么久,于是找找其他解决办法, Google,百度后都没有提到过类似的问题.
设置IME.enabled = true也不管用.
仔细测试后发现:Flex的TextInput可以输入中文,既然flex的可要输入,那么TextField也应该可要输入中文的.
于是翻开mx.controls.TextInput的源码仔细查看. 几经测试后终于在一处注释处发现了一点线索.
We don't call IME.conversionMode here. We call it only on focusIn. Thus fringe cases like setting imeMode dynamically without moving focus, through keyboard events, wouldn't change the mode. Also getting imeMode asynch. from the server which gets delayed and set later after focusIn is not handled as having the text partly in one script and partly in another is not desirable.
既然说在获得焦点后设置imeMode,那么我是不是也应该在focuseIn后设置IME.enabled呢 
说干就干,马上做了一个测试,果然成功了
困扰我多时的问题终于解决了 
阅读全文...
最开始发现是在AS2里用MovieClipLoader加载图片,那次地址写错了,但是依然有onLoadComplete事件触发.
请看下面的代码:
var mc:MovieClip = _root.createEmptyMovieClip("mc", 1);
var loader:MovieClipLoader = new MovieClipLoader();
var listener:Object = {};
loader.addListener(listener);
// 加载一个错误的图片地址,但只要有数据返回(哪怕是404)就会触发complete事件
loader.loadClip("http://www.lite3.cn/errorJpg.jpg", mc);
listener.onLoadComplete = function(target:MovieClip):Void
{
trace("this is loadComplete!");
}
阅读全文...
前几天在调试一个AS2跟后台通信的程序,一直看不到正常的数据显示,然后就挨行trace,终于发现问题所在了.
原来是用了AS2的一个JSON类,如果格式不是json格式就会抛出异常,因为我们的数据格式不会错的,要么就没有数据,否则不会出现格式错误的,所有就没有try catch.
刚好这次测试的时候有一个元素里没有数据,json串为""(空字符串).然后解析的时候抛了个异常,我没有捕获,就终止那段程序.
请看AS2的JSON里抛异常的方式:
阅读全文...
根据Java编译器的优化的机制,Java也能够提供条件编译。对于条件设为false的语句,编译器将不对条件覆盖的代码段生成字节码。
不仅可以用简单的boolean常量值来做条件编译,还可以用字符串常量及任何其他类型的常量.
例如:
阅读全文...
推荐一款Java反编译器,也使用了挺久的了,感觉还是很好用,就拿出和大家分享一下。
这款反编译器叫 "Java Decompiler", 由 Pavel Kouznetsov开发,目前最新版本为0.2.5.
它由 C++开发,并且官方可以下载 windows、linux和苹果Mac Os三个平台的可执行程序。
本人之所以认为它还不错,是其有下面几个功能:
阅读全文...