gebi1218 发表于 2010-5-25 22:35:00NAND Flash的寻址方式和NAND Flash的memory组织方式紧密相关。NAND Flash的数据是以bit的方式保存在memory cell,一般来说,一个cell中只能存储一个bit。这些cell以8个或者16个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device的位宽。这些Line会再组成Page,通常是528Byte/page或者264Word/page。然后,每32个page形成一个Block,Sizeof(block)=16kByte Block是NAND Flash中最大的操作单元,擦除就是按照block为单位完成的,而编程/读取是按照page为单位完成的。 所以,按照这样的组织方式可以形成所谓的三类地址: -Block Address -Page Address -Column Address 首先,必须清楚一点,对于NAND Flash来讲,地址和命令只能在I/O[7:0]上传递,数据宽度可以是8位或者16位,但是,对于x16的NAND Device,I/O[15:8]只用于传递数据。清楚了这一点,我们就可以开始分析NAND Flash的寻址方式了。 以528Byte/page 总容量512Mbit+512kbyte的NAND器件为例:因为1 block="16kbyte",512Mbit="64Mbyte",Numberof(block)=4096 1block="32page", 1page="528byte"=512byte(Main Area)+16byte(Spare Area) 用户数据保存在main are ......
以下是用datalist绑定了一些flash视频。客户端点击这个视频,则跳出一个网页。
<Script language="javascript">
function OpenAdvertPage(URL) {
window.open("b.html","_blank");
return false;
}
</script>
<asp:datalist id="DataList1" runat="server" RepeatColumns="1">
<ItemTemplate>
<div align="center" onMouseDown="OpenAdvertPage('http://www.baidu.com/')">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
......
在执行flash的as脚本时,出现了15秒超时错误。查看adobe官网文档有相关描述
http://help.adobe.com/zh_CN/AS3LCR/Flash_10.0/runtimeErrors.html
出现15秒超时错误后,脚本可以继续执行 15 秒,然后将终止脚本并引发编号为 1503 的运行时错误(脚本在 30 秒内未能退出,终止其执行)。
应用背景: 在flash中有一按钮,增加了点击事件处理函数:flaClickHandle,再处理函数中通过ExternalInterface.call,调用jsp页面中的一js函数:callbackForFla,在该函数中,执行window.showModalDialog。
在测试中,前面执行正常,当将window.showModalDialog打开的模态窗口关闭时,原页面中的flash报15秒超时错误。
初步分析,在callbackForFla,中的window.showModalDialog函数,是在模态窗口关闭时才返回。flash将它调用的外部函数callbackForFla的执行时间,计作as脚本的执行时间,及flaClickHandle函数的执行时间。这种情况下很容易,出现15秒超时错误。因为一个模态窗口只开15秒,就关闭。
针对这种情况的一种解决方法,就是把window.showModalDialog换为window.open
更一般的解决方法时,更改flash发布设置中的超时时间(不推荐,治标不治本)
还有一中方法是(推荐):在f ......
经daquan提醒,发现听雨对于上传的flash文件的脚本没有处理,用户能够利用上传的flash的脚本功能(比如带有geturl动作的flash)实现自动跳转到某个站点。
到北邮人论坛参考了一下,发现他们有对flash脚本的禁用,于是借鉴北邮人的做法,对听雨的flash附件脚本动作进行了处理,具体做法如下:
改动之前的代码:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
>
<param name="MOVIE"
value="bbscon.php?bid=***&id=***&ap=***" />
<embed
src="bbscon.php?bid=***&id=***&ap=***"></embed>
</object>
改动之后的代码:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
>
<param name="allowScrip ......
最近在研究flex技术,flex和flash的交互,flex和Java的通信。下边是一个flex控制swf文件中元件的范例,刚接触flex,如有不对的地方,大家多提意见。
mxml文件:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="init()"
layout="absolute">
<mx:Script>
<![CDATA[
import mx.core.UIComponent;
import flash.display.Loader;
import flash.display.Sprite;
......
最近在研究flex技术,flex和flash的交互,flex和Java的通信。下边是一个flex控制swf文件中元件的范例,刚接触flex,如有不对的地方,大家多提意见。
mxml文件:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="init()"
layout="absolute">
<mx:Script>
<![CDATA[
import mx.core.UIComponent;
import flash.display.Loader;
import flash.display.Sprite;
......
利用as3,我们可以尝试制作一些有趣的组件,虽然现在已经有很多实用的组件,但是自己尝试写一下也是不错的。利用as3语法,借用了绘图Api我们尝试制作一下这个组件。因为我们不需要很强大的功能,对此我们只是需要选取其一部分就可以。
首先,我们所需的制作两个图形,一个是拖动的方块,一个是底图片。对于这两个图我们都不难做,采用绘图APi当中的绘制矩形的办法就能实现到。
我们需要定义个包,这个包是为了防止与flash内部组件类名称冲突如下:
package org.summerTree.components
所需要做的工作是,定义好构造函数里面的参数。设置容器,最大值和最小值。两个值就是两端的位置,以及初始化的默认值
//滚动的组件
package org.summerTree.components
{
import flash.display.Sprite;
import flash.display.Shape;
import flash.events.*;
import flash.geom.Rectangle;
import flash.display.DisplayObjectContainer;
import flash.text.*;
public class Slider extends Sprite
{
private var bar_control:Sprite;
private var values:Number=0;
private var msg:TextField=new TextField();
private var minValue: ......