去年因技术需要,研究了段时间flex3,时隔一年,鄙人感觉忘的差不多了,唉,啥记性啊,现在,Adobe公司的flex版本已经到4了,不过还在beta阶段,现在是beta2,从flex3 到flex4 最直观的变化就是基于Eclipse的IDE Flex Builder 更名为 Flash Builder,
其中Flex 4 支持的新特性有:
1. Package explorer(包资源管理器)
终于支持包管理了,不用再在现实很多层的文件夹.用过Eclipse的应该知道!!
2.悬停时的ASDOC提示
鼠标悬停到类上终于能显示类的doc信息了!这些都是Eclipse中的功能
3.生成类属性的getter/setter方法
4.自动生成EventHandler
自动生成事件的触发函数
5.条件断点
可是断点更人性化,使用方法是在断点上右键断点属性
Flex 4 SDK 新特性
1.主题
2.布局
3.特效
4.样式
5.状态
6.双向绑定
7.ASDOC
8.SWFObject and HTML Template
未完待续... ......
sdk3.2 下会有此问题.
项目中想用moduleLoader加载模块,达到模块化开发的目的.但是出现了共享变量的问题:
TypeError: Error #1034: 强制转换类型失败:无法将 Object@406e651 转换为 mx.messaging.messages.IMessage。
代码+上// import mx.managers.PopUpManager;
// private var popUpManager: PopUpManager
问题暂时消失.在网上查找原因:
需求背景:
通过树形菜单加载多个不同的module。
问题现象:module页面存在拖动,Popup,Alert或者colorpicker出现错误信息:
TypeError: Error #1034: 强制转换类型失败:无法将 mx.managers::PopUpManagerImpl@7155ac1 转换为 mx.managers.IPopUpManager。
解决方案:
在Application加入如下代码引用:
<mx:Script>
<![CDATA[
import mx.managers.DragManager;
import mx.managers.IPopUpManager;
& ......
RSL ( Runtime Shared Library )——运行时组件共享库,用就是使同域里的项目可共享资源,这样可以节省项目的档案大小,易切割、易搬运、易分享组件库项目与组件库可分开开发 .如下图:
下面用图文的方式展示在Flex Builder中使用RSL给Project减肥的步骤。首先来看看减肥之前的”体重”:
如上图所示:bookForm.swf 大小为461KB,EPortal.swf大小为482KB,接着来到Flex Buidler,在工程上点右键,选Properties,接着来到Flex Build Path面板中,看Library Path,在Framework linkage后选择使用Runtime Shared Library(RSL).这时候给Flex lib加入RSL,然后在Build Path Libraries中能看到framework.swc中出现RSL URL:framework_3.2.0.3958.swz(注:本人使用的Flex SDK版本为3.2.0.3958),选中后进行编辑查看,流程如下图所标示:
打开后,确认Deployment path中是否已有这两项:framework_3.2.0.3958.swz,framework_3.2.0.3958.swf。如果没有的话点add按钮添加进去。然后,一路OK,OK到最后。
OK都点完了,Flex Builder会进行编译工作,等它编译完了,就可以来到文件夹查看效果了:
呵呵,明显的,bookForm.swf和EPortal.swf已经产生了质的飞越~不过同时应该注 ......
第五章 Flex使用行为
Adobe Flex行为使你可以为应用程序添加动画和运动,来对用户和编程活动作出反应。行为,是由一个触发器和一种效果组合而成。触发器是一种活动,如鼠标在组件上点击,组件获得焦点,或组件可见。效果是在目标组件上的可视性或可听性上的某种变化,以毫秒计算。效果的例子包括淡出,尺寸变化,或者组件发生移动。
本节将教授你如何在 Flex用户界面中添加行为。具体内容包括如何使用 MXML去创建行为,如何从不同的组件调用一种效果,以及如何组合多种效果以产生合成效果。
创建一个行为
你打算创建一个行为,当按钮被用户点击时变成绿色,维持一秒半以后,离开按钮时变成淡绿色以表明它已经被点击过。
1. 在导航视图中选择 Lessons项目,选择 File > New > MXML Application并创建名叫 Behaviors.mxml的文件。
2. 将 Behaviors.mxml设置为被编译的默认文件,并在关联菜单中选择 Set As Default Application。
3. 在 MXML编辑器源代码模式中,在 <mx:Application>标签后定义绿色效果: <mx:Glow id="buttonGlow" color="0x99FF66" alphafrom="1.0" alphaTo="0.3" duration="1500"/>
绿色效果开始时十分饱满,然后逐步变得透明, ......
Glow:
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the Glow effect. -->
<!--
如何使用Flex Glow Effect
MyShareBook.cn 翻译
-->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Glow id="glowImage" duration="1000"
alphafrom="1.0" alphaTo="0.3"
blurXfrom="0.0" blurXTo="50.0"
blurYfrom="0.0" blurYTo="50.0"
color="0x00FF00"/>
<mx:Glow id ......
我写的第一个程序中写XML的代码执行速度有些问题,改了一下,现在有所改善。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Data.SqlClient;
using System.Xml;
using System.IO;
using System.Collections;
using System.Threading;
namespace StockUpService
{
public partial class StockUpService : ServiceBase
{
public StockUpService()
{
InitializeComponent();
if (!System.Diagnostics.EventLog.SourceExists("MySource"))
{
System.Diagnostics.EventLog.CreateEventSource(
"MySource", "MyNewLog");
}
eventLog1.Source = "MySource";
eventLog1.Log = "MyNewLog";
}
protected override void OnStart(string[] args)
{
System.Timers.Timer t = new System.Timers.Timer(20000 ......