博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【FLEX教程】#008 开发中的问题笔记(慢更…)
阅读量:6982 次
发布时间:2019-06-27

本文共 2530 字,大约阅读时间需要 8 分钟。

在这里记录一下个人在FLEX开发中遇到的一些问题。方便一些遇到同样问题的朋友们,能够快速的解决这些问题。

这篇笔记我会慢慢的更新,(PS:有遇到问题就往上面更….)

 

 


2015年1月4日 12:53:55  请求txt中数据格式问题

情景:用Flex开发前端的时候,服务端的接口还没有写好。 不能等服务端接口写好再做,这样拖慢进度。

因此,用了虚假的数据,从txt里面读取出来。

问题:Txt格式是这样的:

{ "SysInfo"
: { "Name": "综合应用系统"
, "ID": "1"
},    "ModuleConfig"
: { "Name": "xxxxx"
}}

结果用UrlLoader请求回数据,解析成JSON对象的时候,报错了。

解析代码:(corelib.swc 里面封装好的解析方法)

var json:String = e.target.data as String;var data:Object = com.adobe.serialization.json.JSON.decode(json);

错误:Error: Unexpected  encountered  …..(一大串,你出错位置)

解决方案:把txt中的JSON压缩一下, 就 ok 了。


 

 

 

2015年1月4日 13:14:03  Flex加载类库的机制问题

问题描述:Flex加载包的机制: 不管 import 多少包,Flex只会编译你代码中有使用的包。

例子:导入了以下四个包。

import mx.controls.Alert;import mx.controls.Button;import mx.controls.CheckBox;import mx.controls.ComboBox;

代码中,没有用到下拉框这个东西(ComboBox),那么Flex就不会把 这个包编辑到SWF中。

仔细想想是不是好像没有存在什么问题??   正常情况下,的确是没有问题的。

但是如果我根据 数据库中保存的控件类名(Button,ComboBox…),要生成相对应的控件?

那么问题来了,SWF中,没有把ComboBox 这个包,编译到SWF中。   根据反射出来的类,生成相对应的控件时。报错了(没装Debug版的Flash Play,所以没截图)。

解决方案:方法1:专门定义一个类,定义相对应控件的变量(比较麻烦,如果有新增控件,又要添加变量。)

package strongsoft.utility {    import mx.controls.Alert;    import mx.controls.Button;    import mx.controls.CheckBox;    import mx.controls.ComboBox;    import mx.controls.DataGrid;    import mx.controls.Image;    import mx.controls.Label;    import mx.controls.RadioButton;    import mx.controls.Text;    import mx.controls.TextArea;    import mx.controls.TextInput;            public class ReflectionHelper    {        private var reflectionHelper_Alert:Alert;        private var reflectionHelper_Button:Button;        private var reflectionHelper_CheckBox:CheckBox;        private var reflectionHelper_ComboBox:ComboBox;        private var reflectionHelper_DataGrid:DataGrid;        private var reflectionHelper_Image:Image;        private var reflectionHelper_Label:Label;        private var reflectionHelper_RadioButton:RadioButton;        private var reflectionHelper_Text:Text;        private var reflectionHelper_TextArea:TextArea;        private var reflectionHelper_TextInput:TextInput;                public function ReflectionHelper()        {                    }    }}

方法2:(网上的解决办法),没测试过。帖子传送门:

applicationDomain = ApplicationDomain.currentDomain; //放在ModuleLocator的creationComplete里去

 

 

问题描述: 用URLLoader读取了外部XML文件,然后把读取的XML信息,强转成XML对象。

var xml:XML = data as XML ;   //返回 null

然后就奇怪,为什么 用 as 来强转不起作用。

解决方案:

1、用 XML(data)来替代 data as XML 就可以了

2、用 new XML(data) 也可以进行转换。

理由:

           1、as 不可以转换顶层的类(比如 str as Number)是没有作用的,顶层类有哪些查阅《》

  2、as 强转失败的话,不会报错,只会返回null


转载于:https://www.cnblogs.com/zhongxia/p/4200870.html

你可能感兴趣的文章
ESXi hosts and compatible VM hardware versions
查看>>
Django入门(四) 简单操作数据库
查看>>
如何创建和删除隐藏用户
查看>>
python中的内存管理
查看>>
编程题:用二维字符串数组实现。从键盘输入三个学生姓名,并输出。
查看>>
我的友情链接
查看>>
yum安装inxi,出现No package inxi available.Error: Nothing to do的解决方法
查看>>
redis配置文件详解
查看>>
PowerShell删除故障群集节点
查看>>
限制用户多点并发登录之二“脚本”篇
查看>>
一个数组实现两个栈
查看>>
Fedora 27 命令行提示符修改
查看>>
Erlang 简易安装和卸载
查看>>
Windows Server 2012 R2 DirectAccess功能测试(3)—App2服务器安装及配置
查看>>
Shell 十三问学习笔记2
查看>>
Juniper-R&S-BGP(1):一些写在前头的基础知识
查看>>
python flaskfeng封装跨域请求头和封装json格式
查看>>
整理 iOS 9 适配中出现的坑(图文)
查看>>
17款jQuery在线QQ客服代码分享
查看>>
Linux下好用的api工具(同mac下的Dash)
查看>>