是否可以在不使用MXML的情况下使用Flex Framework和组件?我非常了解ActionScript,并且不想乱用一些新的XML语言只是为了获得一些简单的UI.任何人都可以提供一个包含.as文件的例子,该文件可以编译(理想情况下通过FlashDevelop,虽然只是告诉如何使用Flex SDK也可以)并使用Flex Framework?例如,只显示弹出打开警报的Flex按钮将是完美的.
如果不可能,有人可以提供一个最小的MXML文件,它将引导一个自定义AS类,然后可以访问Flex SDK吗?
连接到Java(1.5)服务器上的Socket后,我收到Flex 3沙箱错误#2048.服务器代码都是我的,即不在Apache下运行.Flash Player 10.0 r32.
顺序如下......
1 Java服务器启动,在端口843上侦听策略文件请求,在端口45455上侦听我的其他请求.
2 Apache服务的Flex客户端(虽然如果我从文件系统运行它会得到相同的结果),在主机上进行套接字连接:45455.
3 Flash Player从端口843请求策略文件.这是使用新安全设置查找主文件的标准行为.无论是否指定了不同的策略文件,都会发生这种情况.
4我通过端口843从Java提供以下XML:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="*" secure="false"/>
</cross-domain-policy>
Run Code Online (Sandbox Code Playgroud)
5播放器将以下内容写入调试策略日志...
OK: Root-level SWF loaded: http://localhost/bst/BasicSocketTest.swf
OK: Searching for <allow-access-from> in policy files to authorize data loading from resource at xmlsocket://192.168.2.3:45455 by requestor from http://localhost/bst/BasicSocketTest.swf
OK: Policy file accepted: xmlsocket://192.168.2.3:843
OK: Request for resource at xmlsocket://192.168.2.3:45455 by requestor from http://localhost/bst/BasicSocketTest.swf is permitted due to policy file at xmlsocket://192.168.2.3:843
Run Code Online (Sandbox Code Playgroud)
6我使用writeUTFBytes()和从端口45455向客户端发送文本消息flush() …
我们正在将Flex-3.2应用程序迁移到Flex 4.1,主要是为了利用新的文本流/引擎功能.在第一步中,我们决定进行仅针对MX和Flex-3兼容模式的编译.
感谢一些有用的资源(
http://www.adobe.com/devnet/flex/articles/flexbuilder3_to_flashbuilder4.html
http://www.adobe.com/devnet/flex/articles/flex3and4_differences_02.html
)我能够编译我们的应用程序.
但我发现自己对运行时差异的数量感到惊讶,这些差异范围从我无法将ResultEvent.currentTarget转换为HTTPService(显然是在3.5中引入)到许多布局问题,以及事件调度中的差异(例如,我们的一个遗留组件监听它只是似乎没有得到的添加事件).
似乎关于此的文档很少.我想找到一个包含详细更改的列表,这样我们就不必依赖QA来绊倒所有问题.
这份文件列出了一些,但似乎并不详尽. 有人有更好的记录变更列表吗?
谢谢Stefan
PS.到目前为止我找到的具体例子清单:
1)在Flex 4中,不会触发add事件:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
private function notFired():void
{
trace("ADDED");
}
private function fired():void
{
trace("COMPLETE");
}
]]>
</fx:Script>
<mx:TextArea add="notFired();" creationComplete="fired();"/>
</mx:Application>
Run Code Online (Sandbox Code Playgroud)
现在在Flex 3中执行相同操作,您将看到两个事件都会触发.
显然,这是一个错误.可能有可能解决这个问题,但肯定会大大降低我的水平或信任.
2)对话框/弹出窗口显示镜像的所有内容.
一个bug也是.易于解决,但有什么明显的滑动?
3)注入"Ôª"字符的问题.
我将此Flex表单的内容(不要问为什么)发送到节点.有一个称为"照片"的后置参数,它是base64编码的图像.
照片的内容通过ok发送.问题是当我尝试解码内容并将其写入文件时.
var fs = require("fs");
fs.writeFile("arghhhh.jpg", new Buffer(request.body.photo, "base64").toString(), function(err) {});
Run Code Online (Sandbox Code Playgroud)
我也尝试过toString("binary").但似乎节点不解码所有内容.它似乎只解码jpg标题信息,剩下的就剩下了.
有人可以帮我这个吗?
谢谢
是否可以以编程方式强制在ActionScript 3.0中强制执行完整的垃圾回收?
假设我已经使用eventListeners创建了一堆Display对象,并且已经删除了一些DO,一些eventListener已被触发和删除等等...有没有办法强制垃圾收集运行并收集所有内容可以收集吗?
如何在基于Flex的AIR应用程序中从Internet下载文件.
我尝试使用url设置为该地址的文件,但是当我尝试保存它时,我得到了一个文件不存在错误.谷歌在这个问题上寻求帮助真的很难.
我将BigDecimal对象与BlazeDS序列化为Actionscript.一旦他们将Actionscript作为Number对象命中,它们的值就像:
140475.32 变成 140475.31999999999998
我该如何处理?问题是如果我使用精度为2 的NumberFormatter,那么该值将被截断为140475.31.有任何想法吗?
我是一名尝试Flex的Java开发人员.这是我的问题:
我将actionScript对象表现为hashmap,但是当对象没有该属性时,它会给出异常:没有这样的变量.
在这里,我希望它给了我null,而不是给出异常.所以你知道有没有办法处理它,即检查是否为对象定义了属性.
trace(obj ["2008-02"])//给出异常
有没有一种简单的方法可以通过命令行构建在FlexBuilder中创建的项目?
我正在开始为我工作的项目添加一些Flex组件.目前,项目的其余部分(一些java,一些C++)是通过ant脚本构建的.我真的希望能够将我正在使用的Flex组件的构建集成到该ant脚本中,但我不确定如何从命令行构建Flex项目.
有没有办法从命令行调用flex编译器,以便它使用flex builder的项目作为其配置?或者有没有办法修改FlexBuilder的编译,以便我可以为项目编写构建脚本,然后让它使用它(这样我只有一种方法来构建并让ant和FB都使用它,而不是单独使用构建过程)?
虽然flex ant任务更可取,但并不是必需的,因为我可以轻松地从命令行应用程序创建自定义任务.
编辑:
还有一件事我应该提一下.虽然我安装了FlexBuilder,但运行该ant脚本的人却没有.他们只有普通的Flex SDK.
我正在使用带有eclipse web工具的Tomcat 6来发布应用程序.当我部署j2ee应用程序时,我通过tomcat日志收到此错误:
Feb 18, 2010 9:50:33 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_17\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;Pñ
Feb 18, 2010 9:50:33 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Feb 18, 2010 9:50:33 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 443 ms
Feb 18, 2010 9:50:33 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Feb 18, 2010 9:50:33 PM org.apache.catalina.core.StandardEngine start …Run Code Online (Sandbox Code Playgroud) apache-flex ×10
actionscript ×3
flash ×2
air ×1
ant ×1
base64 ×1
command-line ×1
decoding ×1
flashdevelop ×1
flex3 ×1
flex4 ×1
flexbuilder ×1
image ×1
java ×1
mxml ×1
node.js ×1
sandbox ×1
sockets ×1
tomcat ×1