﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-SIMONE-随笔分类-flash</title><link>http://www.blogjava.net/wangxinsh55/category/29206.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 25 Feb 2011 08:09:36 GMT</lastBuildDate><pubDate>Fri, 25 Feb 2011 08:09:36 GMT</pubDate><ttl>60</ttl><item><title>Spring BlazeDS Integration 的相关文章</title><link>http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345125.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Fri, 25 Feb 2011 07:58:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345125.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/345125.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345125.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/345125.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/345125.html</trackback:ping><description><![CDATA[http://blog.csdn.net/remote_roamer/archive/2010/06/12/5667504.aspx<br />
<br />
http://yifanxiang.blog.163.com/blog/static/5000083420106158206254/<br />
<br />
http://www.licream.net/flex_spring_hibernate.html<br />
<br />
http://aguu125.javaeye.com/blog/527970<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/345125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2011-02-25 15:58 <a href="http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Google appegine上部署BlazeDS和Spring程序（一）</title><link>http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345124.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Fri, 25 Feb 2011 07:56:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345124.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/345124.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345124.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/345124.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/345124.html</trackback:ping><description><![CDATA[http://blog.sharpplus.com/content/%E5%9C%A8google-appegine%E4%B8%8A%E9%83%A8%E7%BD%B2blazeds%E5%92%8Cspring%E7%A8%8B%E5%BA%8F<br />
<br />
<h1 class="title">在Google appegine上部署BlazeDS和Spring程序（一）</h1>
<span class="submitted">由 hubdog 于 星期一, 2009-05-18 00:31 发表</span>
<div class="taxonomy">
<ul class="links inline">
    <li class="taxonomy_term_34 first last"><a href="http://blog.sharpplus.com/category/%E5%93%88%E5%B7%B4%E7%8B%97%E7%9A%84%E5%B0%8F%E7%AA%9D/flex" rel="tag" title="">Flex</a></li>
</ul>
</div>
<p>作者：陈省</p>
<p>首先参考http://ria.dzone.com/articles/introduction-spring-
blazeds?page=0,2这篇文章，这里我们使用Spring Blazeds
Integration包来替代SpringFactory的解决方案来实现Spring和BlazeDS的集成.</p>
<p>1.首先修改Flex Builder3默认创建的web.xml文件。</p>
<p>1.1删除默认的MessageBroker Servlet</p>
<p><strike>&nbsp;&nbsp;&nbsp; &lt;!-- MessageBroker Servlet --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;servlet&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;MessageBrokerServlet&lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;display-name&gt;MessageBrokerServlet&lt;/display-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;flex.messaging.MessageBrokerServlet&lt;/servlet-class&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;services.configuration.file&lt;/param-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;/WEB-INF/flex/services-config.xml&lt;/param-value&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/servlet&gt;</strike></p>
<p>换成Spring的DispatcherServlet<br />
&nbsp;&nbsp;&nbsp; &lt;!-- MessageBroker Servlet --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;servlet&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;MessageBrokerServlet&lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;display-name&gt;MessageBrokerServlet&lt;/display-name&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet&lt;/servlet-class&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/servlet&gt;</p>
<p>注意，Spring加载MessageBrokerServlet的时候，会同时查找WEB-INF\MessageBrokerServlet-
servlet.xml文件，添加WEB-INF\MessageBrokerServlet-servlet.xml文件，内容是加载spring的
xsd</p>
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;beans xmlns="http://www.springframework.org/schema/beans"<br />
&nbsp;&nbsp;&nbsp; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
&nbsp;&nbsp;&nbsp; xsi:schemaLocation="http://www.springframework.org/schema/beans <a href="http://www.springframework.org/schema/beans/spring-beans-2.0.xsd%22%3E" title="http://www.springframework.org/schema/beans/spring-beans-2.0.xsd&quot;&gt;">http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"&gt;</a></p>
<p>&lt;/beans&gt;</p>
<p>删除默认的Flex Listener和上下文配置</p>
<p><strike>&nbsp;&nbsp;&nbsp; &lt;context-param&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;param-name&gt;flex.class.path&lt;/param-name&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;param-value&gt;/WEB-INF/flex/hotfixes,/WEB-INF/flex/jars&lt;/param-value&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/context-param&gt;</strike></p>
<p>&nbsp;&nbsp;&nbsp; &lt;!-- Http Flex Session attribute and binding listener support --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;listener&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;listener-class&gt;flex.messaging.HttpFlexSession&lt;/listener-class&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/listener&gt;<br />
</p>
<p>换成Spring的上下文和Spring用Filter</p>
<p>&nbsp;&nbsp;&nbsp; &lt;context-param&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;param-value&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; /WEB-INF/config/web-application-config.xml<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; /WEB-INF/config/web-application-security.xml<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/param-value&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/context-param&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;filter&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;springSecurityFilterChain&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-class&gt;org.springframework.web.filter.DelegatingFilterProxy&lt;/filter-class&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/filter&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;filter-mapping&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;springSecurityFilterChain&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/filter-mapping&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;listener&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/listener&gt;</p>
<p>1.2集成Spring的安全认证</p>
<p>可以从http://coenraets.org/blog/2009/05/new-test-drive-for-spring-
blazeds-integration-rc1/下载Spring Blazeds
TestDrive集成包，查考里面的WEB-INF\config\web-application-security.xml文件<br />
&nbsp;</p>
<p>1.3开放Spring Bean提供给Flex Remoting使用，修改testdrive的WEB-INF\config\web-application-config.xml内容为</p>
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;beans xmlns="http://www.springframework.org/schema/beans"<br />
&nbsp;&nbsp;&nbsp; xmlns:flex="http://www.springframework.org/schema/flex" xmlns:security="http://www.springframework.org/schema/security"<br />
&nbsp;&nbsp;&nbsp; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
&nbsp;&nbsp;&nbsp; xmlns:context="http://www.springframework.org/schema/context"<br />
&nbsp;&nbsp;&nbsp; xsi:schemaLocation="<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a href="http://www.springframework.org/schema/beans" title="http://www.springframework.org/schema/beans">http://www.springframework.org/schema/beans</a><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a href="http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" title="http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">http://www.springframework.org/schema/beans/spring-beans-2.5.xsd</a><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a href="http://www.springframework.org/schema/flex" title="http://www.springframework.org/schema/flex">http://www.springframework.org/schema/flex</a> <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a href="http://www.springframework.org/schema/flex/spring-flex-1.0.xsd" title="http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">http://www.springframework.org/schema/flex/spring-flex-1.0.xsd</a><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a href="http://www.springframework.org/schema/security" title="http://www.springframework.org/schema/security">http://www.springframework.org/schema/security</a><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a href="http://www.springframework.org/schema/security/spring-security-2.0.4.xsd" title="http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">http://www.springframework.org/schema/security/spring-security-2.0.4.xsd</a><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a href="http://www.springframework.org/schema/context" title="http://www.springframework.org/schema/context">http://www.springframework.org/schema/context</a><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a href="http://www.springframework.org/schema/context/spring-context-2.5.xsd%22%3E" title="http://www.springframework.org/schema/context/spring-context-2.5.xsd&quot;&gt;">http://www.springframework.org/schema/context/spring-context-2.5.xsd"&gt;</a></p>
<p>&nbsp;<br />
&nbsp;&nbsp;&nbsp; &lt;flex:message-broker/&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;bean id="UserService" class="com.sharpplus.UserService" &gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/bean&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;!-- Expose the productDAO bean for BlazeDS remoting --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;flex:remoting-destination ref="UserService" /&gt;<br />
&lt;/beans&gt;<br />
&nbsp;</p>
<p>UserService Bean只有一个GetUser方法，返回一个Hello Blazeds的字符串</p>
<p>package com.sharpplus;</p>
<p>public class UserService {<br />
&nbsp;&nbsp;&nbsp; public String getUser(){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return "Hello Blazeds";<br />
&nbsp;&nbsp;&nbsp; }<br />
}</p>
<p>创建Flex客户端界面，调用我们的UserService，显示字符串信息</p>
<p>&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;mx:Script&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;![CDATA[<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; import mx.rpc.events.ResultEvent;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; import mx.controls.Alert;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private function onClick():void{<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ro.getUser.addEventListener(ResultEvent.RESULT, onResult);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ro.getUser();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private function onResult(event:ResultEvent):void{<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; var s:String=event.result as String;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Alert.show(s);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ]]&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/mx:Script&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;mx:Button x="257" y="193" label="Hello BlazeDS"&nbsp; click="onClick()"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;mx:RemoteObject id="ro" destination="UserService"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;/mx:RemoteObject&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&lt;/mx:Application&gt;<br />
&nbsp;</p>
<p>JDBC for Google appengine</p>
<p><a href="http://www.jiql.org/" title="http://www.jiql.org/">http://www.jiql.org/</a></p>
<br />
<br />
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/345124.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2011-02-25 15:56 <a href="http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345124.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Flex学习之五</title><link>http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345123.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Fri, 25 Feb 2011 07:55:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345123.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/345123.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345123.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/345123.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/345123.html</trackback:ping><description><![CDATA[<h3><a href="http://a3mao.javaeye.com/blog/391684">Flex学习之五</a></h3>
本文主要学习Flex跟spring如何集成。参考文档是 Spring BlazeDS Integration Reference
Guide。spring已经提供了与flex的集成的支持，主要的jar包下载地址：http://www.springsource.com
/download/community?project=Spring%20BlazeDS%20Integration
<br />
<br />
flex与spring集成的核心思想就是让spring来管理 MessageBroker。如何集成？可以总结为三步。
<br />
1、首先，修改 web.xml文件，将之前配置的 MessageBrokerServlet&nbsp; 去掉改成spring的，
<br />
<br />
&lt;servlet&gt;
<br />
&lt;servlet-name&gt;Spring MVC Dispatcher Servlet&lt;/servlet-name&gt;
<br />
&lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet&lt;/servlet-class&gt;
<br />
&lt;init-param&gt;
<br />
&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;
<br />
&lt;param-value&gt;
<br />
/WEB-INF/config/web-application-config.xml
<br />
&lt;/param-value&gt;
<br />
&lt;/init-param&gt;
<br />
&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
<br />
&lt;/servlet&gt;
<br />
<br />
&lt;servlet-mapping&gt;
<br />
&lt;servlet-name&gt;Spring MVC Dispatcher Servlet&lt;/servlet-name&gt;
<br />
&lt;url-pattern&gt;/messagebroker/*&lt;/url-pattern&gt;
<br />
&lt;/servlet-mapping&gt;
<br />
<br />
2，新建文件 web-application-config.xml
<br />
<br />
&lt;?xml version="1.0" encoding="GB2312" ?&gt;
<br />
&lt;beans xmlns="http://www.springframework.org/schema/beans"
<br />
xmlns:flex="http://www.springframework.org/schema/flex" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<br />
xsi:schemaLocation="
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.springframework.org/schema/beans
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.springframework.org/schema/flex
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.springframework.org/schema/flex/spring-flex-1.0.xsd"&gt;
<br />
<br />
&lt;!-- Bootstraps and exposes the BlazeDS MessageBroker simplest form --&gt;
<br />
&lt;flex:message-broker id="_messageBroker"
<br />
services-config-path="/WEB-INF/flex/services-config.xml"&gt;
<br />
&lt;flex:mapping pattern="/messagebroker/*" /&gt;
<br />
&lt;flex:exception-translator ref="myExceptionTranslator" /&gt;
<br />
&lt;/flex:message-broker&gt;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上面配置是一种简单配置，另外一种更简单配置为：
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;flex:message-broker/&gt;&nbsp;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 还有一种配置为：
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bean id="mySpringManagedMessageBroker"
<br />
class="org.springframework.flex.core.MessageBrokerFactoryBean"&gt;
<br />
&lt;property name="servicesConfigPath"
<br />
value="classpath*:flex/services-config.xml" /&gt;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/bean&gt;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&gt;
<br />
<br />
&lt;!-- Maps request paths at /* to the BlazeDS MessageBroker --&gt;
<br />
&lt;bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"&gt;
<br />
&lt;property name="mappings"&gt;
<br />
&lt;value&gt;
<br />
/*=_messageBroker
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/value&gt;
<br />
&lt;/property&gt;
<br />
&lt;/bean&gt;
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- 下面这个Adapter似乎不用配置，因为我注释后照样可以使用 --&gt;
<br />
&lt;!--
<br />
Dispatches requests mapped to a MessageBroker &lt;bean
<br />
class="org.springframework.flex.servlet.MessageBrokerHandlerAdapter"
<br />
/&gt;
<br />
--&gt;
<br />
<br />
&lt;/beans&gt;
<br />
<br />
3，写remoting-config.xml 文件：
<br />
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
<br />
&lt;service id="remoting-service"
<br />
&nbsp;&nbsp;&nbsp; class="flex.messaging.services.RemotingService"&gt;
<br />
<br />
&nbsp;&nbsp;&nbsp; &lt;adapters&gt;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;adapter-definition id="java-object"
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class="flex.messaging.services.remoting.adapters.JavaAdapter"
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default="true"/&gt;
<br />
&nbsp;&nbsp;&nbsp; &lt;/adapters&gt;
<br />
<br />
&nbsp;&nbsp;&nbsp; &lt;default-channels&gt;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;channel ref="my-amf"/&gt;
<br />
&nbsp;&nbsp;&nbsp; &lt;/default-channels&gt;
<br />
&nbsp;&nbsp;&nbsp;
<br />
&lt;/service&gt;&nbsp;&nbsp;&nbsp;
<br />
&nbsp;&nbsp;&nbsp;
<br />
到目前为止，flex已经跟spring集成到一起了。
<br />
4、将spring的bean导出为flex的Destination。我们要在web-application-config.xml文件中增加。
<br />
有三种方式：
<br />
第一种：
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bean id="productService" class="flex.samples.product.ProductServiceImpl" /&gt;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;flex:remoting-destination ref="productService" /&gt;
<br />
第二种：
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bean id="productService" class="flex.samples.product.ProductServiceImpl" &gt;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;flex:remoting-destination /&gt;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/bean&gt;
<br />
第三种：
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bean id="product" class="org.springframework.flex.remoting.RemotingDestinationExporter"&gt;
<br />
&nbsp;&nbsp;&nbsp; &lt;property name="messageBroker" ref="_messageBroker"/&gt;
<br />
&nbsp;&nbsp;&nbsp; &lt;property name="service" ref="productService"/&gt;
<br />
&nbsp;&nbsp;&nbsp; &lt;property name="serviceId" value="productService"/&gt;
<br />
&nbsp;&nbsp;&nbsp; &lt;property name="includeMethods" value="read, update"/&gt;
<br />
&nbsp;&nbsp;&nbsp; &lt;property name="excludeMethods" value="create, delete"/&gt;
<br />
&nbsp;&nbsp;&nbsp; &lt;property name="channels" value="my-amf, my-secure-amf"/&gt;
<br />
&lt;/bean&gt;
<br />
<br />
<br />
附件是一个例子工程，没有提供jar，工程中所需要的jar
<br />
backport-util-concurrent.jar
<br />
cfgatewayadapter.jar
<br />
cglib-nodep-2.1_3.jar
<br />
commons-codec-1.3.jar
<br />
commons-httpclient-3.0.1.jar
<br />
commons-logging.jar
<br />
concurrent.jar
<br />
flex-messaging-common.jar
<br />
flex-messaging-core.jar
<br />
flex-messaging-opt.jar
<br />
flex-messaging-proxy.jar
<br />
flex-messaging-remoting.jar
<br />
jackson-lgpl-0.9.5.jar
<br />
org.springframework.flex-1.0.0.RC1.jar
<br />
spring2.5.6.jar
<br />
spring-webmvc.jar
<br />
xalan.jar
<br />
<br />
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/345123.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2011-02-25 15:55 <a href="http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345123.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>flex3 load flashpaper使用LocalConnection和flash通讯</title><link>http://www.blogjava.net/wangxinsh55/archive/2010/04/06/317553.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Tue, 06 Apr 2010 06:04:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2010/04/06/317553.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/317553.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2010/04/06/317553.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/317553.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/317553.html</trackback:ping><description><![CDATA[http://my.oschina.net/Boder/blog/931<br />
<br />
国外有高手已经实现了IE浏览器内加载flashpaper,好像是这篇吧:
http://www.darronschall.com/weblog/2006/11/how-to-load-flashpaper-
documents-in-flex-2.cfm
这里将在他的基础上改成利用LocalConnection来通讯,以便更好的处理来回的操作.
flex load
flashpaper也离不开flash,这个例子其实就是用flash做一个空壳,比如命名FPload.swf这个壳就是用来加载
flashpapaer的,里面实现了对flashpaper的大小设置,缩略值,页数设置等等,注意这个fpload.swf是flash8的.在
flex中加载就得利用LocalConnection(如果不明白的得自己去想办法了解了)或者例子中的ExternalInterface跟
fpload.swf通讯,去设置尺寸,大小,页面等等
首先看flex3里面如何来加载flashpaper
//com.magReader.FlashPaperLoader.as
<br />
<br />
<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;com.magReader<br />
{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;flash.events.Event;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;flash.events.StatusEvent;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;flash.net.LocalConnection;<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">import&nbsp;flash.system.System;</span><span style="color: #008000;"><br />
</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;mx.controls.SWFLoader;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;UIComponent&nbsp;designed&nbsp;specifically&nbsp;to&nbsp;load&nbsp;FlashPaper&nbsp;documents<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;and&nbsp;size&nbsp;them&nbsp;correctly&nbsp;in&nbsp;the&nbsp;available&nbsp;area.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;FlashPaperLoader&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;SWFLoader<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;The&nbsp;id&nbsp;of&nbsp;the&nbsp;FlashPaperLoader.swf&nbsp;proxy&nbsp;that&nbsp;will&nbsp;be&nbsp;used<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;for&nbsp;communication&nbsp;pyurposes.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;FLASH_PAPER_LOADED&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;String&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">flashPaperLoaded</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;FLASH_CONNERROR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;String&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">flashConnError</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;var&nbsp;sendFlashConn:LocalConnection;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;var&nbsp;recieveFlashConn:LocalConnection;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;The&nbsp;name&nbsp;of&nbsp;the&nbsp;application&nbsp;that&nbsp;is&nbsp;loading&nbsp;in&nbsp;the&nbsp;FlashPaperLoader.swf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;file.&nbsp;&nbsp;This&nbsp;name&nbsp;must&nbsp;correspond&nbsp;to&nbsp;the&nbsp;"id"&nbsp;attribute&nbsp;in&nbsp;the&nbsp;object&nbsp;tag<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;and&nbsp;the&nbsp;"name"&nbsp;attribute&nbsp;in&nbsp;the&nbsp;embed&nbsp;tag&nbsp;when&nbsp;the&nbsp;Flex&nbsp;client&nbsp;is&nbsp;embedded<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;into&nbsp;the&nbsp;html&nbsp;page.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Constructor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;function&nbsp;FlashPaperLoader()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">source&nbsp;=&nbsp;"app-storage:/data/fpHolder.swf";</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendFlashConn</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;LocalConnection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recieveFlashConn&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;LocalConnection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recieveFlashConn.client</span><span style="color: #000000;">=</span><span style="color: #0000ff;">this</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendFlashConn.addEventListener(StatusEvent.STATUS,&nbsp;onStatus);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendFlashConn.allowDomain(</span><span style="color: #000000;">"</span><span style="color: #000000;">*</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recieveFlashConn.allowDomain(</span><span style="color: #000000;">"</span><span style="color: #000000;">*</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendConn();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;function&nbsp;sendConn():</span><span style="color: #0000ff;">void</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recieveFlashConn.connect(</span><span style="color: #000000;">"</span><span style="color: #000000;">_flexloader</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">&nbsp;(error:ArgumentError)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(</span><span style="color: #000000;">"</span><span style="color: #000000;">Can't&nbsp;connect<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />the&nbsp;connection&nbsp;name&nbsp;is&nbsp;already&nbsp;being&nbsp;used&nbsp;by&nbsp;another&nbsp;SWF</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onConnError();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;function&nbsp;onStatus(result:StatusEvent)&nbsp;:</span><span style="color: #0000ff;">void</span><span style="color: #000000;">{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace&nbsp;(result.level&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">error</span><span style="color: #000000;">"</span><span style="color: #000000;">?</span><span style="color: #000000;">"</span><span style="color: #000000;">Operation&nbsp;failed</span><span style="color: #000000;">"</span><span style="color: #000000;">:</span><span style="color: #000000;">"</span><span style="color: #000000;">Operation&nbsp;succeeded</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">连接源出错</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;function&nbsp;onConnError():</span><span style="color: #0000ff;">void</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">errUnload();</span><span style="color: #008000;"><br />
</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;e:Event</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Event(FlashPaperLoader.FLASH_CONNERROR);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dispatchEvent(&nbsp;e&nbsp;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;=================================================================<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;Expose&nbsp;methods&nbsp;that&nbsp;are&nbsp;proxied&nbsp;from&nbsp;FlashPaperLoader.swf&nbsp;-&nbsp;Call<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;JavaScript&nbsp;methods&nbsp;that&nbsp;the&nbsp;FlashPaperLoader.swf&nbsp;file&nbsp;picks&nbsp;up<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;and&nbsp;passes&nbsp;to&nbsp;the&nbsp;loaded&nbsp;FlashPaper&nbsp;document.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;=================================================================</span><span style="color: #008000;"><br />
</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;function&nbsp;setSize(&nbsp;width:Number,&nbsp;height:Number&nbsp;):</span><span style="color: #0000ff;">void</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(</span><span style="color: #000000;">"</span><span style="color: #000000;">=========setPaperSize=============</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendFlashConn.send(</span><span style="color: #000000;">"</span><span style="color: #000000;">_flashpaperloader</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">setPaperSize</span><span style="color: #000000;">"</span><span style="color: #000000;">,width,height);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;文档加载成功提示<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;function&nbsp;fpLoaded():</span><span style="color: #0000ff;">void</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(</span><span style="color: #000000;">"</span><span style="color: #000000;">reveice&nbsp;fpLoaded&nbsp;message!!&nbsp;this.width&nbsp;=&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.width&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;this.height</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.height);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">setSize(parent.width,parent.height);</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;e:Event</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Event(FlashPaperLoader.FLASH_PAPER_LOADED);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dispatchEvent(&nbsp;e&nbsp;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">this.visible=true;</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;设置缩放<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;function&nbsp;setZoom(value:Object):</span><span style="color: #0000ff;">void</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.visible)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendFlashConn.send(</span><span style="color: #000000;">"</span><span style="color: #000000;">_flashpaperloader</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">setCurrentZoom</span><span style="color: #000000;">"</span><span style="color: #000000;">,value);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;override&nbsp;protected&nbsp;function&nbsp;updateDisplayList(&nbsp;unscaledWidth:Number,<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unscaledHeight:Number&nbsp;):void<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;contentHolder&nbsp;)<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Adjust&nbsp;values&nbsp;so&nbsp;the&nbsp;FlashPaper&nbsp;document&nbsp;is&nbsp;displayed&nbsp;correctly<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentHolder.scaleX&nbsp;=&nbsp;1.0;<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentHolder.scaleY&nbsp;=&nbsp;1.0;<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentHolder.x&nbsp;=&nbsp;0;<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentHolder.y&nbsp;=&nbsp;0;<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentHolder.scrollRect&nbsp;=&nbsp;new&nbsp;Rectangle(&nbsp;0,&nbsp;0,&nbsp;unscaledWidth,&nbsp;unscaledHeight&nbsp;);<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;When&nbsp;the&nbsp;content&nbsp;has&nbsp;loaded,&nbsp;call&nbsp;the&nbsp;setSize&nbsp;method&nbsp;so&nbsp;that&nbsp;the<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;FlashPaper&nbsp;document&nbsp;sizes&nbsp;right&nbsp;in&nbsp;the&nbsp;available&nbsp;area<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;Loader(&nbsp;contentHolder&nbsp;).content&nbsp;)<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setSize(&nbsp;unscaledWidth,&nbsp;unscaledHeight&nbsp;);<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">this.setFocus();<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">卸载此swf</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;function&nbsp;unload():</span><span style="color: #0000ff;">void</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(sendFlashConn&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendFlashConn.send(</span><span style="color: #000000;">"</span><span style="color: #000000;">_flashpaperloader</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">unload</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendFlashConn&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(recieveFlashConn&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recieveFlashConn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recieveFlashConn&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">(e:ArgumentError)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(e.toString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recieveFlashConn&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unloadAndStop(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">System.gc();</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;function&nbsp;errUnload():</span><span style="color: #0000ff;">void</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(sendFlashConn&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendFlashConn.send(</span><span style="color: #000000;">"</span><span style="color: #000000;">_flashpaperloader</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">unload</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendFlashConn&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(recieveFlashConn&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)&nbsp;recieveFlashConn&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unloadAndStop(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">System.gc();</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;end&nbsp;class</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">}&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;end&nbsp;package</span><span style="color: #008000;"><br />
</span><span style="color: #000000;"><br />
</span></div>
<br />
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/317553.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2010-04-06 14:04 <a href="http://www.blogjava.net/wangxinsh55/archive/2010/04/06/317553.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>flex 加载flashpaper</title><link>http://www.blogjava.net/wangxinsh55/archive/2010/04/06/317552.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Tue, 06 Apr 2010 06:02:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2010/04/06/317552.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/317552.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2010/04/06/317552.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/317552.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/317552.html</trackback:ping><description><![CDATA[http://my.oschina.net/Boder/blog/933<br />
<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000;">//</span><span style="color: #008000;">主应用loadFp.mxml&nbsp;</span><span style="color: #008000;"><br />
</span><span style="color: #000000;"><br />
</span><span style="color: #000000;">&lt;!--</span><span style="color: #000000;">l&nbsp;version</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">1.0</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;encoding</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">utf-8--&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;!--</span><span style="color: #000000;">[CDATA[<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;com.magReader.FlashPaperLoader;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">flashpaper加载器</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;var&nbsp;magReader:FlashPaperLoader;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;function&nbsp;initType():</span><span style="color: #0000ff;">void</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;urlStr:String&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">Fpl.swf?url=template.swf</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;magReader&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;FlashPaperLoader();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;magReader.source&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;urlStr;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;magReader.visible&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;magContainer.addChild(magReader);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">loadingBar.visible&nbsp;=&nbsp;true;</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;magReader.addEventListener(FlashPaperLoader.FLASH_PAPER_LOADED,fpLoaded);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">flashpaper已经加载完成</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;function&nbsp;fpLoaded(evt:Event):</span><span style="color: #0000ff;">void</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">trace("magContainer&nbsp;width&nbsp;=&nbsp;"&nbsp;+&nbsp;magContainer.width&nbsp;+&nbsp;"&nbsp;magContainer&nbsp;height&nbsp;=&nbsp;"&nbsp;+&nbsp;magContainer.height);</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;magReader.setSize(magContainer.width,magContainer.height);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;magReader.visible&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">loadingBar.visible&nbsp;=&nbsp;false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">去掉进度条<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">magContainer.removeChild(loadingBar);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">删除事件侦听</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;magReader.removeEventListener(FlashPaperLoader.FLASH_PAPER_LOADED,fpLoaded);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;改变容器显示大小<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;function&nbsp;changSize():</span><span style="color: #0000ff;">void</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(magReader&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;magReader.setSize(magContainer.width,magContainer.height);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]]</span><span style="color: #000000;">--&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
</span></div>
<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000;">//</span><span style="color: #008000;">flash&nbsp;cs3代码,生成所需要的fpl.swf</span><span style="color: #008000;"><br />
</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;flash.display.Stage;<br />
Stage.align&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">LT</span><span style="color: #000000;">"</span><span style="color: #000000;">;&nbsp;<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">Stage.scaleMode&nbsp;=&nbsp;"showAll";&nbsp;</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">var&nbsp;url&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">template.swf</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
var&nbsp;fp;<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">localConnection通讯接口</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">var&nbsp;caller:LocalConnection&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;LocalConnection();<br />
var&nbsp;sender:LocalConnection&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;LocalConnection();<br />
caller.connect(</span><span style="color: #000000;">"</span><span style="color: #000000;">_flashpaperloader</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
caller.allowDomain(</span><span style="color: #000000;">"</span><span style="color: #000000;">*</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
sender.allowDomain(</span><span style="color: #000000;">"</span><span style="color: #000000;">*</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
Security.allowDomain(</span><span style="color: #000000;">"</span><span style="color: #000000;">*</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">设置页面<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">caller.setPage&nbsp;=&nbsp;function(n:Number)<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.setCurrentPage(n);<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">}<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">设置大小</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">caller.setPaperSize&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;function(w:Number,h:Number)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(</span><span style="color: #000000;">"</span><span style="color: #000000;">fpLoader&nbsp;width=</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;w&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;height&nbsp;=</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;h)&nbsp;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fp.setSize(w,h);<br />
}<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">设置缩放<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">caller.setCurrentZoom&nbsp;=&nbsp;function(zoom:Object)<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.setCurrentZoom(zoom);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">sendCurrentZoom();<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">}<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">设置下一页<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">caller.nextPage&nbsp;=&nbsp;function()<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">var&nbsp;p:Number&nbsp;=&nbsp;fp.getCurrentPage();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">if(p&nbsp;+&nbsp;1&nbsp;&lt;=&nbsp;fp.getNumberOfPages())<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.setCurrentPage(p&nbsp;+&nbsp;1);<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">}<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">设置上一页<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">caller.prePage&nbsp;=&nbsp;function()<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">var&nbsp;p:Number&nbsp;=&nbsp;fp.getCurrentPage();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">if(p&nbsp;-&nbsp;1&nbsp;&gt;&nbsp;0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.setCurrentPage(p&nbsp;-&nbsp;1);<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">}<br />
<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">卸载</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">caller.unload&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;function()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;caller.close();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;caller&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sender&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fp.destroy();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fp&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unloadAndStop();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;paper.unloadMovie();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;paper&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
}<br />
<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;function:&nbsp;loadFlashPaper<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;------------------------<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Load&nbsp;FlashPaper&nbsp;document,&nbsp;size&nbsp;it,&nbsp;<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Parameters:<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;path_s:&nbsp;Path&nbsp;of&nbsp;SWF&nbsp;to&nbsp;load<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;dest_mc:&nbsp;Movie&nbsp;clip&nbsp;to&nbsp;hold&nbsp;the&nbsp;imported&nbsp;SWF<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;width_i:&nbsp;New&nbsp;size&nbsp;of&nbsp;the&nbsp;dest&nbsp;MC<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;height_i:&nbsp;New&nbsp;size&nbsp;of&nbsp;the&nbsp;dest&nbsp;MC<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;loaded_o:&nbsp;(optional)&nbsp;Object&nbsp;to&nbsp;be&nbsp;notified&nbsp;that&nbsp;loading&nbsp;is&nbsp;complete</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">function&nbsp;loadFlashPaper(path_s,&nbsp;dest_mc,&nbsp;loaded_o)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;intervalID&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;loadFunc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;function(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(</span><span style="color: #000000;">"</span><span style="color: #000000;">加载开始<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />.</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dest_mc._visible&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fp&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;dest_mc.getIFlashPaper();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">fp)&nbsp;{&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">fp.setSize(</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">)){&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(</span><span style="color: #000000;">"</span><span style="color: #000000;">没有设置窗口大小</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(</span><span style="color: #000000;">"</span><span style="color: #000000;">flashPaper加载成功了</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clearInterval(intervalID);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">var&nbsp;pages_i&nbsp;=&nbsp;fp.getNumberOfPages();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">paper.toolbar_mc.brandClip_mc.swapDepths(1000);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">paper.toolbar_mc.brandClip_mc.removeMovieClip();&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">ctrlHolder_mc.swapDepths(_root.control_mc);</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dest_mc._visible&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Now&nbsp;show&nbsp;the&nbsp;document<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">_root.control_mc._visible&nbsp;=&nbsp;true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Now&nbsp;show&nbsp;the&nbsp;controller</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loaded_o.onLoaded(fp);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intervalID&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;setInterval(loadFunc,&nbsp;</span><span style="color: #000000;">100</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dest_mc.loadMovie(path_s);<br />
}<br />
<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;function:&nbsp;onLoaded()<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;------------------------<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Called&nbsp;once&nbsp;loading&nbsp;is&nbsp;complete<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Parameters:<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;fp:&nbsp;FlashPaper&nbsp;interface&nbsp;(returned&nbsp;by&nbsp;getIFlashPaper())</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">function&nbsp;onLoaded()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;We&nbsp;can&nbsp;now&nbsp;call&nbsp;the&nbsp;FlashPaper&nbsp;API&nbsp;functions.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Remove&nbsp;the&nbsp;standard&nbsp;user&nbsp;interface&nbsp;features:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.showUIElement("PrevNext",&nbsp;false);</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fp.showUIElement(</span><span style="color: #000000;">"</span><span style="color: #000000;">Print</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.showUIElement("Find",&nbsp;false);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.showUIElement("Tool",&nbsp;false);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.showUIElement("Pop",&nbsp;false);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.showUIElement("Zoom",&nbsp;false);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.showUIElement("Page",&nbsp;false);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.showUIElement("Overflow",&nbsp;false);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">fp.enableScrolling(false);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Some&nbsp;additional&nbsp;API&nbsp;features&nbsp;(here&nbsp;commented&nbsp;out):</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fp.setCurrentZoom(</span><span style="color: #000000;">100</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">sendCurrentZoom();</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sender.send(</span><span style="color: #000000;">"</span><span style="color: #000000;">_flexloader</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">fpLoaded</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
}<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Hide&nbsp;the&nbsp;navigation&nbsp;controller&nbsp;until&nbsp;after&nbsp;the&nbsp;document&nbsp;is&nbsp;loaded:<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">_root.control_mc._visible&nbsp;=&nbsp;false;&nbsp;&nbsp;<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Create&nbsp;movie&nbsp;clip&nbsp;to&nbsp;hold&nbsp;the&nbsp;document:</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">var&nbsp;paper&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.createEmptyMovieClip(</span><span style="color: #000000;">"</span><span style="color: #000000;">paper</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">100</span><span style="color: #000000;">);<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Create&nbsp;movie&nbsp;clip&nbsp;to&nbsp;exchange&nbsp;the&nbsp;depth&nbsp;with&nbsp;the&nbsp;navigation&nbsp;controller&nbsp;clip:<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">var&nbsp;ctrlHolder_mc&nbsp;=&nbsp;this.createEmptyMovieClip("ctrlHolder",200);<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Position&nbsp;the&nbsp;document&nbsp;clip&nbsp;on&nbsp;the&nbsp;stage:</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">paper._x&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
paper._y&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Load&nbsp;the&nbsp;FlashPaper&nbsp;document:</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">loadFlashPaper(url,&nbsp;paper,&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">);<br />
</span></div>
<br />
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/317552.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2010-04-06 14:02 <a href="http://www.blogjava.net/wangxinsh55/archive/2010/04/06/317552.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>仿豆丁flashpaper 网页flash文档播放调用文档资料收集</title><link>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317423.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Sat, 03 Apr 2010 15:46:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317423.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/317423.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317423.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/317423.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/317423.html</trackback:ping><description><![CDATA[http://hi.baidu.com/gacmotor/blog/item/a35c41fbab8ad39c58ee9011.html<br />
<br />
<p>配置要求:<br />
1、服务器必须是windows系统<br />
因为本插件必须能将doc、xls、docx、ppt、txt、pdf等等文档打开才可以，因为这些文档只支持windows系统，所有必须服务器是
windows系统，而且必须安装office和pdf阅读器。<br />
2、php必须支持exe函数调用（因为首先要将文档打开然后打印成flash格式）<br />
3、服务器必须支持虚拟打印功能<br />
4、服务内存需要足够大，因为打印的时候要占用原有的内存（建议最低为2-4G）；</p>
<p>满足上述服务器配置条件,才能支持在线文档插件。豆丁网几乎和上述配置一样。</p>
<p>这里为啥要征求大家意见：<br />
1、一方面目前本插件在本服务器上测试OK，因为他只是在编辑器上添加一个调用按钮，尚未与论坛程序完全整合，也就是说他的原理为，在编辑器上添加一个在
线文档按钮，然后跳出一个单文件上传系统，上传完成后，自动调用打印程序，打印完成后将flash的地址通过媒体标签的形式传递到输入框，编辑帖子完成后
即显示文档flash<br />
2、由于上述原理，如果真正的想和论坛程序深度整合的话，必须重写代码（与论坛的附件上传整合到一起）<br />
3、由于服务器配置的局限性，可能需求的不多，所以，想征求大家意见</p>
<p><br />
有谁知道FlashPaper?word to htm有问题要请教高手们 <br />
<a href="http://bbs.blueidea.com/thread-2781866-1-1.html">http://bbs.blueidea.com/thread-2781866-1-1.html</a><br />
我有一些DOC文档要放在网上，但有特殊的格式，不能直接转换成HTML，用FlashPaper转换成SWF后，由于有Macromedia的LOGO
及打印，放大，文本选择等一些工具，不能很好的保护文档，因此，想去掉LOGO及打印，放大，文本选择等工具，也知道FlashPaper的控制函数，但
由于小可实在太菜，也不知道怎么用，请DX多指教。<br />
另，有没有好的办法，将SWF嵌入HTML后，通过编辑HTML来调用FlashPaper的控制函数来实现打印，放大，文本选择等按钮的打开和关闭？<br />
万分感谢。</p>
<p>现在我用的是FlashPaper2.0，有一个插件可以控制，但是就是不知道怎么用。<br />
FlashPaper2.0:http://www.onlinedown.net/soft/35842.htm<br />
插件：<a href="http://www.digitalflipbook.com/a">http://www.digitalflipbook.com/a</a>
... ashpaper_comp_4.php<br />
请高手回答，在此谢过。</p>
<p>这里有一篇文章好像也能实现，有4页，但我还是没有弄明白，有谁能译一下就好了<br />
<a href="http://www.adobe.com/devnet/flas">http://www.adobe.com/devnet/flas</a>
... mport_flpaper2.html</p>
<p>基本能实现控制按的打开和关闭了，引用<a href="http://www.adobe.com/devnet/flas">http://www.adobe.com/devnet/flas</a>
...
mport_flpaper2.html上面的方面。但是新的问题出来了，由于只是生成一个新的SWF，引用以前的SWF，新的SWF不能单独运行，如果
单独运行就只能是一个空白文档。所以，有没有好的办法能直接对原始的SWF进行控制，或者能否实现新生成的新的SWF中本身就包含原始的SWF，而不仅仅
是引用，有没有办法实现？请DX们指教。<br />
举个例子：<br />
我有一个原始的用FLASFHPAPER生成的SWF：FLASHPAPER.swf,按<a href="http://www.adobe.com/devnet/flas">http://www.adobe.com/devnet/flas</a>
...
mport_flpaper2.html的方法处理后，去掉打印，文本选择等按钮后，生成一个新的SWF文件：FLASHPAPER-1.swf，但新生
成的文件很小，没有包含原始的FLASHPAPER.swf，而仅仅只是引用。因此新生成的FLASHPAPER-1.swf不能独立运行，必须是
FLASHPAPER.swf和FLASHPAPER-1.swf在一起时才能运行FLASHPAPER-1.swf。现在的问题是怎么实现新生成的
FLASHPAPER-1.swf能独立的运行，就是说新生产的FLASHPAPER-1.swf文档要包含原始的FLASHPAPER.swf，而不仅
仅是引用。<br />
求助各位DX了。</p>
<p>这个问题已经彻底解决，现在可以对SWF进行修改，就是对FLASHPAPER的默认转换模板进行修改，然后控制打印，文本复制等功能。对SWF进
行反编译，处理后解决。<br />
现在用FLASHPAPER处理出来的DOC文档，不再会有打印，文本复制，等功能，只可看，只可浏览。利用在网页中的禁止保存、禁止打印、禁止右键等代
码，较好的实现了文档的保护。</p>
<p>FlashPaper修改很容易,我这里都有现成修改好的 去logo 去工具条,部分工具屏蔽等模版,需要的站内PM</p>
<p>asp.net 调用 FlashPaper如何实现 有权限问题吗<br />
<a href="http://topic.csdn.net/u/20081015/12/ef971788-d3e1-45e2-95a4-03565c917f05.html">http://topic.csdn.net/u/20081015/12/ef971788-d3e1-45e2-95a4-03565c917f05.html</a></p>
<p>ASP 调用 flashpaper 失败<br />
1、CMD里执行 I:\I:\FlashPaper\FlashPrinter.exe I:\1.doc -o I:\1.swf
。I盘根目录下成功生成1.swf<br />
期间进程出现了 winword.exe、FlashPrinter.exe
、还有一个macromedia的lisence进程。用户名为ADMINISTRATOR。命令执行完，均自动关闭。</p>
<p>2、而ASP里执行 WshShell.Run("I:\I:\FlashPaper\FlashPrinter.exe I:\1.doc -o
I:\1.swf " ,0,true)
网页开始出现反应慢。查看进程只有FlashPrinter.exe和macromedia的lisence进程（用户名均为iwam），未见
winword.exe进程。也没有文件生成。</p>
<p>3、用另一款转换工具pdf2swf，通过ASP，生成目标文件成功。</p>
<p>4、怀疑ASP访问时IWAN用户权限不够，于是采用CPAU账户替换工具，把IWAN替换成ADMINISTRATOR。
FlashPrinter.exe和macromedia的lisence进程出现，且用户名均为ADMINISTRATOR，但IE报错&#8220;应用程序初始
化错误&#8221;。</p>
<p>5、期间尝试无数次办法：把IWAN、IUSR加入管理组；虚拟打印机加入IWAN、IUSR所有权限，修改组策略等等等...均失败。</p>
<p>请高手解读....... <br />
问题补充：WshShell.Run("I:\FlashPaper\FlashPrinter.exe I:\1.doc -o I:\1.swf "
,0,true),刚才写错了。</p>
<p>另外第四条时，没有文件生成。</p>
<p><br />
命令行调用FlashPaper Command Line Conversion<br />
FlashPrinter.exe 2008年数据业务中心IT系统现状以及规划汇报080508.ppt -o 200808.swf</p>
<p>Unable to use sample code in php of sdk folder<br />
<a href="http://print2flash.com/forum/viewtopic.php?f=4&amp;t=58">http://print2flash.com/forum/viewtopic.php?f=4&amp;t=58</a></p>
<p>Unable to use sample code in php of sdk folder<br />
by jai on Fri Feb 29, 2008 12:39 am</p>
<p>when I use the sample code index.php on my server, then i get an
error "Error writing file
/hsphere/local/home/akashnig/clickmydocs.com/PHP/uploadedfiles\investm.rtf".</p>
<p>how can I use this sample code in my project on server to convert
files. ???</p>
<p>I want to use print2flash in my project, please provide the code for
this.............</p>
<p>If any help regarding this....please provide.jai <br />
<br />
Posts: 1<br />
Joined: Wed Feb 27, 2008 6:19 am Top<br />
--------------------------------------------------------------------------------</p>
<p>Re: Unable to use sample code in php of sdk folder<br />
by staff on Wed Mar 05, 2008 4:21 am</p>
<p>You need to grant Read and Write permissions to the uploadedfiles and
convertedfiles folders for the user under which your web server runs
(for IIS it is usually IUSR_xxx) and for the user which credentials you
specified in the Print2Flash Service Configuration window.</p>
<p>No, command line does not support URLs. The solution may be writing a
program for downloading and saving a page to disk, and then you can
convert that page to Flash using Print2Flash command line.</p>
<p><br />
Command Line failed in ASP<br />
<a href="http://print2flash.com/forum/viewtopic.php?f=4&amp;t=86">http://print2flash.com/forum/viewtopic.php?f=4&amp;t=86</a></p>
<p><a href="http://www.lynchconsulting.com.au/blog/index.cfm/2007/2/22/Batch-Convert-PDF-files-to-Flash-Paper">http://www.lynchconsulting.com.au/blog/index.cfm/2007/2/22/Batch-Convert-PDF-files-to-Flash-Paper</a></p>
<p>asp如何在服务器端调用winzip命令行对上传的多个文件打包--asp编程技术<br />
<a href="http://www.fansart.com/cweb/2006516174722.asp">http://www.fansart.com/cweb/2006516174722.asp</a></p>
<p>写了2个小时的东东想了两天！PHP上传文件类 <br />
<a href="http://farflight.blog.sohu.com/53196006.html">http://farflight.blog.sohu.com/53196006.html</a></p>
<p>js调用可执行性(exe)文件<br />
<a href="http://blog.sina.com.cn/s/blog_5ca9fdd80100bdh1.html">http://blog.sina.com.cn/s/blog_5ca9fdd80100bdh1.html</a></p>
<p>liujunpeng的个人空间_列表_PHPChina 开源社区门户 - powered by ..<br />
<a href="http://www.phpchina.com/html/23/6123_type_blog_view_track.html">http://www.phpchina.com/html/23/6123_type_blog_view_track.html</a></p>
<p>FlashPaper类库<br />
<a href="http://yourpalmark.com/downloads/flash/components/FlashPaper_doc.html">http://yourpalmark.com/downloads/flash/components/FlashPaper_doc.html</a></p>
<p>FlashPaper组件中文说明</p>
<p><a href="http://www.mediamacros.com/item/item-1006687373/">http://www.mediamacros.com/item/item-1006687373/</a></p>
<p>If it's any help this is the code from my site which opens a document
(newsletter).</p>
<p>&lt;p class="smallCtrdTxt"&gt;This is a Flash document. You can see
some controls just above the document. The control just left of the
double arrow will open a new window or tab for full size
viewing.&lt;/p&gt; <br />
&lt;div class="flashDoc"&gt;&lt;object
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=" <a href="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0">http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0</a>,
19,0" width="100%" height="100" title="August Newsletter"&gt; <br />
&lt;param name="movie" value="images/docs/newsletterAugust07.swf" /&gt; <br />
&lt;param name="quality" value="high" /&gt; <br />
&lt;embed src="images/docs/newsletterAugust07.swf" quality="high"
pluginspage=" <a href="http://www.macromedia.com/go/getflashplayer">http://www.macromedia.com/go/getflashplayer</a>"
type="application/x-shockwave-flash" width="94%" height="670"
&gt;&lt;/embed&gt; <br />
&lt;/object&gt;&lt;/div&gt;</p>
<p>找人开发<br />
<a href="http://forums.adobe.com/thread/170010?tstart=330">http://forums.adobe.com/thread/170010?tstart=330</a></p>
<p><a href="http://print2flash.com/">http://print2flash.com/</a></p>
<p><a href="http://space.flash8.net/space/?376578/viewspace-308332.html">http://space.flash8.net/space/?376578/viewspace-308332.html</a></p>
<p>php exec FlashPrinter有问题<br />
<a href="http://zhidao.baidu.com/question/58766588.html">http://zhidao.baidu.com/question/58766588.html</a></p>
<p>CMD 运行带参数的程序 WEB调用<br />
<a href="http://zhidao.baidu.com/question/129685919.html?si=8">http://zhidao.baidu.com/question/129685919.html?si=8</a></p>
<p><br />
于老師教室討論版:: 觀看文章- FlashPaper 轉換的檔案，如何嵌入於 <br />
<a href="http://203.208.37.132/search?q=cache:JM280Bxa4moJ:yunol.stes.tc.edu.tw/phpBB2/viewtopic.php%3Fp%3D27422%26sid%3D19c50e3736c5d28bc26ff188850fed12+php+flashpaper+%E4%BB%A3%E7%A0%81&amp;cd=30&amp;hl=zh-CN&amp;ct=clnk&amp;gl=cn&amp;st_usg=ALhdy2_zM4XAz6LykBkw9PqDMznZSy_DYA">http://203.208.37.132/search?q=cache:JM280Bxa4moJ:yunol.stes.tc.edu.tw/phpBB2/viewtopic.php%3Fp%3D27422%26sid%3D19c50e3736c5d28bc26ff188850fed12+php+flashpaper+%E4%BB%A3%E7%A0%81&amp;cd=30&amp;hl=zh-CN&amp;ct=clnk&amp;gl=cn&amp;st_usg=ALhdy2_zM4XAz6LykBkw9PqDMznZSy_DYA</a></p>
<p>如何给Flash Paper生成的SWF文件添加一个弹出窗口按钮? 看这里</p>
<p> </p>
<p>直接在URL后面加参数:<br />
<a href="http://www.dengjie.com/temp/tiger_book.swf?POPUP_ENABLED=true">http://www.dengjie.com/temp/tiger_book.swf?POPUP_ENABLED=true</a></p>
<p>PHP code<br />
$exstr = "D:\\FlashPaper\\FlashPrinter.exe D:\\11.doc -o
D:\\output1.swf";<br />
exec($exstr);</p>
<p><br />
在Flash中用FlashPaper API<br />
<a href="http://www.happycampus.cn/docs/959266665903@hc09/154235/">http://www.happycampus.cn/docs/959266665903@hc09/154235/</a></p>
<p>.語法如下： <br />
代碼: <br />
&lt;embed height="993" width="700" quality="high"
type="application/x-shockwave-flash" src="<a href="http://elesson.tceb.edu.tw/%7Eyunol/FlashPaper_2/Tylopilus_nigropurpureus.swf">http://elesson.tceb.edu.tw/~yunol/FlashPaper_2/Tylopilus_nigropurpureus.swf</a>"
pluginspage="<a href="http://www.macromedia.com/go/getflashplayer">http://www.macromedia.com/go/getflashplayer</a>"
/&gt;</p>
<p>height是文件高度 <br />
width是文件寬度 <br />
src是文件來源，就是網址路徑 <br />
以上三個參數，請根據自己的資料修改。</p>
<p><br />
类库<br />
<a href="http://yourpalmark.com/downloads/flash/components/FlashPaper_doc.html">http://yourpalmark.com/downloads/flash/components/FlashPaper_doc.html</a></p>
<p>FlashPaper and ASP.NETIs there any way of using FlashPaper in ASP.NET
in order to: <br />
1) convert documents (DOC, RTF, etc) into FlashPaper files <br />
2) publish FlashPaper documents in ASPX pages</p>
<p>Thanks in advance.</p>
<p>JK, Chennai</p>
<p>Hi! <br />
i need to convert my docs into .swf file through flashpaper2 by calling
.aspx file i.e. i need to know aspx code for flashparer for convert any
docs into .swf file. My requirment is that i need to create a webpage
through which i can upload any document and it will convert into swf
file by flashpaper. <br />
So if any one have solution then plz reply me.</p>
<br />
<br />
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/317423.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2010-04-03 23:46 <a href="http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317423.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IFlashPaper</title><link>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317422.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Sat, 03 Apr 2010 15:44:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317422.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/317422.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317422.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/317422.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/317422.html</trackback:ping><description><![CDATA[http://hi.baidu.com/gacmotor/blog/item/703de076e8a64610b151b916.html<br />
<br />
<div id="blog_text" class="cnt">
<pre><a href="http://www.adobe.com/support/documentation/en/flashpaper/2/flashpaper_api/flashpaper_api3.html">http://www.adobe.com/support/documentation/en/flashpaper/2/flashpaper_api/flashpaper_api3.html</a></pre>
<pre>interface FlashPaper.IFlashPaper<br />
{<br />
function addListener(listener:Object):Void;<br />
function removeListener(listener:Object):Void;<br />
function getViewerType():String;<br />
function getViewerVersion():Number;<br />
function getCurrentPage():Number;<br />
function setCurrentPage(pageNumber:Number):Void;<br />
function getNumberOfPages():Number;<br />
function getLoadedPages():Number;<br />
function showUIElement(part:String, flag:Boolean):Void;<br />
function printTheDocument():Boolean;<br />
function setCurrentZoom(percent:Object):Void;<br />
function getCurrentZoom():Number;<br />
function setSize(w:Number, h:Number):Boolean;<br />
function goToLinkTarget(linktarget:String, window:Object):Void;<br />
function enableScrolling(flag:Boolean):Boolean<br />
function getCurrentTool():String;<br />
function setCurrentTool(tool:String):Boolean;<br />
function getTextSelectionRange():FlashPaper.SelectionRange;<br />
function setTextSelectionRange(sel:FlashPaper.SelectionRange,<br />
skipBroadcast:Boolean):Void;<br />
function getSelectedText():String;<br />
function getSidebarWidth():Number;<br />
function setSidebarWidth(w:Number):Void;<br />
function getFindText():String;<br />
function setFindText(s:String):Void;<br />
function findNext():Boolean;<br />
function getVisibleArea():Object;<br />
function setVisibleArea(area:Object, skipBroadcast:Boolean):Void;<br />
};</pre>
</div>
<br />
<br />
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/317422.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2010-04-03 23:44 <a href="http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317422.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How to load FlashPaper Documents in Flex 2</title><link>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317420.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Sat, 03 Apr 2010 15:42:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317420.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/317420.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317420.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/317420.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/317420.html</trackback:ping><description><![CDATA[http://hi.baidu.com/gacmotor/blog/item/cdabd417a5485a5af2de320b.html<br />
<br />
<div id="blog_text" class="cnt">
<div class="asset-body">
<p>If you've ever tried to load a FlashPaper document in Flex 2, then
you know it's not as straightforward as it was with <a href="http://www.cflex.net/showfiledetails.cfm?ChannelID=1&amp;Object=File&amp;objectID=117">Flex
1.5</a>.</p>
<p>Sure, you can just use an &lt;mx:SWFLoader /&gt; tag. But, if you've
tried this, you know it's pretty limited. You can't talk to the
FlashPaper document, and the loaded document gets stuck at a fixed size
or scales incorrectly when resized. If you try fiddling with the various
scaleContent and maintainAspectRatio settings, you'll quickly get
frustrated trying to achieve the perfect resize behavior.</p>
<p>I've run into this problem in the Flex 2 application I'm currently
building. We're using ColdFusion to generate dynamic reports via the
&lt;cfreport&gt; tag, capturing the report output as FlashPaper, and
then loading the report output .swf directly into the Flex 2
application. I'm happy to say that I've solved the resize and
communication issues, and I've been given permission to post these on my
weblog from the client that I've written the code for.</p>
<p><strong><a href="http://www.darronschall.com/downloads/FlashPaperLoader.zip">You
can download my Flex 2 FlashPaperLoader here. (.zip archive)</a></strong>
- MIT License</p>
<p>There's a lot of interesting things going on the .zip file. In the
archive you'll find the following files:</p>
</div>
<div class="asset-more">
<ul>
    <li>flash
    <ul>
        <li>FlashPaperLoader.fla</li>
        <li>FlashPaperLoader_code.as</li>
    </ul>
    </li>
    <li>flex
    <ul>
        <li>com/darronschall/controls/FlashPaperLoader.as</li>
        <li>FlashPaperLoaderExample.mxml</li>
    </ul>
    </li>
</ul>
<p>Note that the code is mostly complete but it is not a compile-ready
working example. You <strong>will</strong> need a few tweaks get it
working: You'll need to create a new Flex project named
"FlashPaperLoaderExample" out of the code in the flex subdirectory, copy
the flash/FlashPaperLoader.swf file to the Flex project's bin directory
so it lives along side of the Flex 2 output .swf, change the
"flashPaperURL" in the FlashPaperLoaderExample.mxml to point to a valid
FlashPaper document... and then you should be good to go.</p>
<p>The example file contains an indeterminate progress bar that loads a
FlashPaper document full screen. The progress bar goes away when the
FlashPaper is fully loaded. Try resizing your browser window to see how
the loaded FlashPaper document resizes to fill the available space.</p>
<p>The best way to understand what is going on is to just dive in and
take a look at the code. Start in FlashPaperLoaderExample.mxml, then
FlashPaperLoader.as, then look in FlashPaperLoader_code.as. Basically,
the concept is this:</p>
<p>The FlashPaperLoader Flex control is used to load a Flash 8
ActionScript 2 FlashPaperLoader.swf file, generated from the
FlashPaperLoader.fla file. The FlashPaperLoader.swf file is passed the
URL of the FlashPaper document, as well as a unique identifier
(fpProxyId) and the object/embed name of the Flex client (swfDomId) -
"FlashPaperLoaderExample" in this case. The latter two parameters are
necessary for the communication mechanism between Flex and FlashPaper.
The loaded FlashPaperLoader.swf handles loading the FlashPaper document
and fosters communication between Flex 2 and FlashPaper.</p>
<p>Communication is done through ExternalInterface. By leveraging
JavaScript, the ActionScript 3 code running inside of AVM2 can
communicate with the ActionScript 2 code running inside of AVM1. There
is no way for the two different VMs to talk directly, so JavaScript acts
as the middle man.</p>
<p>So, if the Flex client needs to resize the FlashPaper document, it
calls a JavaScript method such as "APP.setSize82" where "82" is the
fpProxyId unique identifier and "APP" is the object/embed id/name
attribute of the Flex client embedded in the HTML page. The
FlashPaperLoader.swf file registers a handler for the JavaScript method
setSize82 with its own internal setSize method, so when the Flex client
invokes the JavaScript method, the FlashPaperLoader.swf file picks it
up. Then, in turn, the loader .swf just invokes the setSize method on
the loaded FlashPaper document passing in the appropriate width and
height. A similar process is used for going from FlashPaper to Flex 2.</p>
<p>The reason the fpProxyId is needed is for when the Flex client loads
multiple FlashPaper documents. The Flex client needs to know that it's
calling a method on the appropriate FlashPaper target, so the id is used
to differentiate the different loaded loader .swf files.</p>
<p>I know it sounds a little confusing, but everything is explained
inside of the source code.</p>
<p>There are a few improvements that can be made to this code. One of
them is that I'm only exposing the "setSize" and "printTheDocument"
methods from the <a href="http://www.adobe.com/support/documentation/en/flashpaper/2/flashpaper_api/flashpaper_api4.html">IFlashPaper</a>
interface. Obviously, there are a lot more methods than that (but that
was all I've needed so far). Additionally, it might be a little cleaner
to use <a href="http://www.flashextensions.com/blog/2006/11/14/interfacing-between-flash-8-9-problems-and-solutions">FlashInterface</a>
for the communication between AVM1 and AVM2, but I wrote my code some
two months ago and didn't feel the need to change the basics of it since
it's been working flawlessly for me. Also, you might want to have the
FlashPaperLoader.swf proxy the percentage complete when loading a
FlashPaper document so the Flex 2 client can update the loaded progress
correctly.</p>
<p>I hope that helps! I know a few people have been asking about this,
so hopefully my code will get things working for you as well. As I said,
I've been using this technique for awhile now&#226; &#166; Good luck!</p>
</div>
</div>
<br />
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/317420.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2010-04-03 23:42 <a href="http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317420.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>flash控制Flashpaper，并全屏幕播放</title><link>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317419.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Sat, 03 Apr 2010 15:39:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317419.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/317419.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317419.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/317419.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/317419.html</trackback:ping><description><![CDATA[http://hi.baidu.com/gacmotor/blog/item/57577fd064814c339a502708.html<br />
<br />
<div id="blog_text" class="cnt">
<div class="cnt">
<p>Stage.align = "TL"; <br />
Stage.scaleMode = "noScale"; <br />
function hideBrand () { <br />
&nbsp;&nbsp;&nbsp;  if (paper.gMainView.m_numPagesLoaded) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  paper.toolbar_mc.brandClip_mc.swapDepths(1000); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  paper.toolbar_mc.brandClip_mc.removeMovieClip(); <br />
&nbsp;&nbsp;  paper._x=0;<br />
&nbsp;&nbsp;  paper_y=0;<br />
&nbsp;&nbsp;  paper.setSize (Stage.width, Stage.height); <br />
&nbsp;&nbsp;  clearInterval (hideBrandInterval); <br />
&nbsp;&nbsp;&nbsp;  } <br />
} <br />
createEmptyMovieClip ("paper", 1); <br />
paper.loadMovie ("hdywsc.swf"); <br />
&nbsp;&nbsp;  //禁止内容缩放 <br />
fullscreen = new Object();//创建类<br />
fullscreen.onResize = function() {//swf大小改变时触发<br />
&nbsp;&nbsp;  paper._x=0;<br />
&nbsp;&nbsp;  paper_y=0;</p>
<p>paper.setSize (Stage.width, Stage.height); <br />
//顶和左对齐 <br />
//paper._x = Stage.width-300;//根据Stage.width和Stage.height获得的舞台的宽和高来调整显示<br />
//paper._x=System.capabilities.screenResolutionX;<br />
//paper_y=System.capabilities.screenResolutionY;<br />
};<br />
Stage.addListener(fullscreen);<br />
hideBrandInterval = setInterval (hideBrand, 1);</p>
</div>
</div>
<br />
<br />
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/317419.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2010-04-03 23:39 <a href="http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317419.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>隐藏flash paper上面Macromedia标志的方法</title><link>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317418.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Sat, 03 Apr 2010 15:38:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317418.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/317418.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317418.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/317418.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/317418.html</trackback:ping><description><![CDATA[<div id="blog_text" class="cnt">
<p>http://hi.baidu.com/gacmotor/blog/item/09cb4b09975affda63d98608.html<br />
</p>
<p>function hide_MMlogo_greentea () {<br />
if (paper.gMainView.m_numPagesLoaded) {<br />
paper.toolbar_mc.brandClip_mc.swapDepths(1000);<br />
paper.toolbar_mc.brandClip_mc.removeMovieClip();<br />
paper.setSize (640, 600);<br />
clearInterval (hideBrandInterval);<br />
}<br />
}</p>
<p> </p>
<p>hideBrandInterval = setInterval (hide_MMlogo_greentea, 1);</p>
</div>
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/317418.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2010-04-03 23:38 <a href="http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317418.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FlashPaper API 说明</title><link>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317417.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Sat, 03 Apr 2010 15:35:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317417.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/317417.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317417.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/317417.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/317417.html</trackback:ping><description><![CDATA[http://hi.baidu.com/gacmotor/blog/item/3877d63c7371240bbba1670e.html<br />
<br />
我们可以将一个 FlashPaper 文档插入到 Flash的 FLA 源文件中。当把 FLA 文件导出为 <br />
SWF 文件时，FlashPaper SWF文件就会嵌入到导出的SWF 文件中。 <br />
下面的代码显示了一个普通的Flash FLA 文件是如何使用 loadFlashPaper() 函数载 <br />
入一个 FlashPaper SWF 文档的。 <br />
function loadFlashPaper( <br />
path_s, // path of SWF to load <br />
dest_mc, // MC which we should replace with the SWF <br />
width_i, // new size of the dest MC <br />
height_i, // new size of the dest MC <br />
loaded_o) // optional: object to be notified that loading is complete <br />
{ <br />
var intervalID = 0; <br />
var loadFunc = function() <br />
{ <br />
dest_mc._visible = false; <br />
var fp = dest_mc.getIFlashPaper(); <br />
if (!fp) <br />
return; <br />
if (fp.setSize(width_i, height_i) == false) <br />
return; <br />
dest_mc._visible = true; <br />
clearInterval(intervalID); <br />
loaded_o.on
<div id="blog_text" class="cnt"><wbr>Loaded(fp); <br />
} <br />
intervalID = setInterval(loadFunc, 100); <br />
dest_mc.loadMovie(path_s); <br />
} <br />
下面的代码显示已经嵌入一个FlashPaper SWF文档后如何使用 loadFlashPaper() 函 <br />
数。 <br />
function on<wbr>Loaded(fp) <br />
{ <br />
// loading is complete, so we can now adjust the current page, zoom,
etc. <br />
// go to page 50. <br />
fp.setCurrentPage(50);<br />
// change magnification to 33% <br />
fp.setCurrentZoom(33); <br />
} <br />
loadFlashPaper("FlashPaper.swf", theDocMC, theDocMC._width,
theDocMC._height, this); <br />
其中 fp.setCurrentPage 值被设置为 50，fp.setCurrentZoom 值被设置为 33，当 FLA <br />
文件被导出时，嵌入的 FlashPaper SWF文件以 33%的放大倍率在导出的 SWF 文件中出现。 <br />
Flash Paper 2 生成的SWF可以通过AS载入到Flash影片中使用API进行控制,如下: <br />
createEmptyMovieClip("fPaper", 0); <br />
var my_mcl = new MovieClipLoader(); <br />
myListener = new Object(); <br />
my_mcl.addListener(myListener); <br />
my_mcl.loadClip("FlashPaper.swf", fPaper); <br />
myListener.on<wbr>LoadInit = function (target_mc) <br />
{ <br />
on<wbr>EnterFrame = function() <br />
{ <br />
fPaper.showZoomUI(false); <br />
fPaper.showPrintUI(false); <br />
fPaper.setCurrentZoom("width"); <br />
fPaper.setCurrentPage(2); <br />
delete on<wbr>EnterFrame; <br />
} <br />
} <br />
Flash Paper 2 API:<br />
FlashPaper组件- -完整的APi <br />
2009年02 月04日 星期三 14:18 <br />
它可以载入由FlashPaper2.0生成的SWF文件， 而且提供了一系列设置的函 <br />
数，实在是不可多得的好东西！现在推荐下！ <br />
下载包含组件说明（英文） <br />
组件说明（英文） <br />
下面是我翻译的部分组件说明（Flash Paper类）可用性: <br />
ActionScript 1.0; Flash Player 6 <br />
属性摘要 <br />
属性 说明 <br />
documentPath:String FlashPaper文件的路径. <br />
borderThickness:Number 边框宽度. <br />
borderColor:String 边框颜色. <br />
UIElements:Object 外观元素的可见性. <br />
currentZoom:Object 默认缩放比例. <br />
width:Number FlashPaper文件的宽度. <br />
height:Number FlashPaper文件的高度. <br />
UIElements属性的图示 <br />
事件摘要 <br />
事件 说明 <br />
on<wbr>LoadStart = function(target:FlashPaper, type:String) {}
当FlashPape <br />
文件已开始下载文件时调用. <br />
on<wbr>LoadProgress = function(target:FlashPaper, type:String, <br />
bytesLoaded:Number, bytesTotal:Number) {} 每当FlashPape文件写入硬盘时 <br />
调用. <br />
on<wbr>LoadComplete = function(target:FlashPaper, type:String) {} 当 <br />
FlashPape文件完全下载时调用. <br />
on<wbr>LoadInit = function(target:FlashPaper, type:String) {} 当执行 <br />
FlashPape文件第一帧上的动作时调用. <br />
on<wbr>LoadError = function(target:FlashPaper, type:String, <br />
errorCode:String) {} 当FlashPape文件未能加载时调用. <br />
on<wbr>Display = function(target:FlashPaper, type:String) {} 当FlashPape<br />
文件已经显示时调用. <br />
on<wbr>Unload = function(target:FlashPaper, type:String) {} 当卸载FlashPape
<br />
文件时调用. <br />
on<wbr>PageChanged = function(target:FlashPaper, type:String, <br />
newPageNumber:Number) {} 当FlashPape文件翻页时调用. <br />
on<wbr>ZoomChanged = function(target:FlashPaper, type:String, <br />
percent:Number) {} 当FlashPape文件缩放时调用. <br />
on<wbr>Selection = function(target:FlashPaper, type:String) {}
当FlashPape <br />
文件的文字被选择时调用. <br />
on<wbr>ToolChanged = function(target:FlashPaper, type:String, <br />
newTool:String) {} 当更换FlashPape文件的 工具时调用. <br />
on<wbr>EnableScrolling = function(target:FlashPaper, type:String, <br />
enable:Boolean) {} 当FlashPape文件滚动时调用. <br />
on<wbr>VisibleAreaChanged = function(target:FlashPaper, type:String) {} 当
<br />
FlashPape文件的哭件区域变化时调用. <br />
方法摘要 <br />
方法 说明 <br />
load(path:String) : Void 载入一个FlashPape文件. <br />
destroy() : Void 卸载FlashPape文件. <br />
move(x:Number, y:Number) : Void 移动FlashPape组件). <br />
toString() : String 返回组件的名称. <br />
getIFlashPaper() : FlashPaper.IFlashPaper 返回一个实现IFlashPaper接口 <br />
的对象. <br />
如果这个函数未定义,那么载入的SWF文件不是一个FlashPaper 2.0文件. <br />
如果这个函数存在,但是返回null或undefined,那么载入的SWF文件是一个 <br />
FlashPaper 2.0文件,但是还没有载入足够的内容去实现这个API;你必须等待载 <br />
入足够的内容并且再次调用它. <br />
getViewerType() : String 返回一个描述包含 SWF文件的接口的类型的字符串. <br />
这个Macromedia FlashPaper标准阅读器总是返回Macromedia FlashPaper <br />
Default Viewer. <br />
getViewerVersion() : Number 返回一个标识这个文件接口版本代号整数.<br />
返回的整数不是连续的,但是这个整数显示阅读器最近的版本 ,而且可以显示除 <br />
错或增强的功能. <br />
比如FlashPaper 2.01返回 218. <br />
getCurrentPage() : Number 返回当前页数(与工具栏显示的相同).第一页是<br />
1. <br />
setCurrentPage(pageNumber:Number) : Void 设置当前页数.需要保证此页是可 <br />
显示的,但不必调节缩放. <br />
getNumberOfPages() : Number 返回文件总页数. <br />
注意: 也许不是所有的页都是可显示的, 屈就于连接速度. <br />
getLoadedPages() : Number 返回当前载入的页数(可显示的). <br />
这个数值一定在0到getNumberOfPages()之间. <br />
当 <br />
getLoadedPages() == getNumberOfPages() <br />
时,这个文件便完全载入. <br />
showUIElement(part:String, flag:Boolean) : Void 应藏或者显示FlashPaper <br />
文件外观的部件.区分大小写: <br />
"PrevNext" 前一页和后一页按钮的隐藏或显示. <br />
注意: 如果这些按钮是隐藏的,当前页文字框回失效,但不会隐藏. <br />
"Print" 打印按钮的隐藏或显示. <br />
"Tool"所有工具选择按钮的隐藏或显示. <br />
"Zoom" 所有所放控制按钮的隐藏或显示. <br />
"Find"文字搜索框的隐藏或显示. <br />
"Pop" 在浏览器中打开文件按钮的隐藏或显示. <br />
"Sidebar"边框 (显示文件边框)按钮的隐藏或显示. <br />
注意: 这个变量无论这个文件是否包括边框i; 没有边框的文件从不显示边框 <br />
按钮. <br />
"Page" 当前页和总页数按钮的隐藏或显示 <br />
"Overflow" 超出菜单的隐藏或显示. <br />
注意:这个菜单仅在工具条太狭窄而不能显示时;你不能用这个变量强制显示超 <br />
出菜单. <br />
"ZoomKeys" 这个参数不影响外观;他控制是否能用快捷键所放文件(例如, <br />
+, -, p, w). <br />
"Brand" 品牌按钮的隐藏或显示. <br />
"Close" 关闭按钮的隐藏或显示. <br />
traceUIElements() : Void 输出UI Elements的可见性. <br />
printTheDocument() : Boolean 模仿用户单击答应按钮. 在调用函数前,文件必 <br />
须完全载入.<br />
getCurrentZoom() : Number 返回当前缩放水平. <br />
注意: 缩放水平总是返回一个数值r;不会返回页面宽度. <br />
setCurrentZoom(percent:Object) : Void 设置当前缩放水平.你可以传入一个 <br />
数值指示所放百分比 (例如, 100表示100%)..你也可以传入一个字符串 <br />
"width"适合页面宽度,或者传入字符串 "page"适合到页. <br />
setSize(w:Number, h:Number) : Boolean 设置组件的显示排列,单位是象素. <br />
如果成功设置则返回true,不成功则返回false. <br />
goToLinkTarget(linktarget:String, window:Object) : Void 触发锚点或URL <br />
连接请求. <br />
如果传入的字符串是锚点名称:foo,当前视图会移动到那个锚点.window参数 <br />
会被忽视.如果foo不是一个有效的锚点名称,则不会执行动作.对于其它的字符 <br />
串,会执行getURL(linktarget, window) (想了解更多的信息,请见 <br />
ActionScript文档). <br />
enableScrolling(flag:Boolean) : Boolean 阻止用户滚动文件.当滚动被禁止 <br />
时: <br />
滚动条不可用,但是可见. <br />
滚动按钮不可用. <br />
使用鼠标滚轮滚动不可用. <br />
getCurrentTool() : String 返回当前活动的工具.如果没有活动的工具,则返回 <br />
空字符串.以下是现在支持的值: <br />
"" (没有工具) <br />
"pan" (手形工具) <br />
"select" (文字选择工具) <br />
setCurrentTool(tool:String) : Boolean 设置活动工具.如果参数错误或者该 <br />
工具不可用则返回false.以下是现在支持的值: <br />
"" (没有工具) <br />
"pan" (手形工具) <br />
"select" (文字选择工具) <br />
getTextSelectionRange() : FlashPaper.SelectionRange 返回一个描述当前选 <br />
择文字的对象.如果没有选择文字,则返回null. <br />
注意:与getVisibleArea()返回的对象不同,这个函数总是返回一个 <br />
FlashPaper.SelectionRange,这是一个明确定义的对象, 你可以检查,分解或者 <br />
构造一个新的对象. <br />
setTextSelectionRange(sel:FlashPaper.SelectionRange, <br />
skipBroadcast:Boolean) : Void 选择特定的文字.你可以传入null,从而取消 <br />
选定所有的文字.无效的范围(没有页面)会被省略(它允许你设定范围 从0到一<br />
个很大的数,例如999999,从而选定所有文档).如果skipBroadcast是false (或 <br />
未定义), 会广播on<wbr>VisibleAreaChanged(). 如果skipBroadcast是true, 则不 <br />
会广播on<wbr>VisibleAreaChanged(). <br />
注意:与getVisibleArea()返回的对象不同,这个函数总是返回一个 <br />
FlashPaper.SelectionRange,这是一个明确定义的对象, 你可以检查,分解或者 <br />
构造一个新的对象. <br />
getSelectedText() : String 以Unicode编码的字符串返回选择的文字.如果每 <br />
有被选择的文字,会返回空字符串. <br />
getSidebarWidth() : Number 返回其他按钮的宽度. <br />
没有边框的文件会返回0. <br />
setSidebarWidth(w:Number) : Void 设置其他按钮的宽度. <br />
传入0从而完全隐藏其他按钮. <br />
没有边框的文件会忽视调用. <br />
getFindText() : String 以Unicode编码的字符串返回查找的文字. <br />
setFindText(s:String) : Void 设置文字查找框的文字. <br />
这个函数不会执行查找操作或改变当前选择. <br />
findNext() : Boolean 查找文字查找框中输入的文字. <br />
从当前选择文字的后面开始查找. <br />
要从文档的开头查找,请先调用setSelectionRange(null). <br />
如果找到了文字,调用getTextSelectionRange()返回详细的范围. <br />
getVisibleArea() : Object 返回描述文档当前可见区域的对象.返回的对象有 <br />
如下作用: <br />
传入setVisibleArea(). <br />
这个可以用来在不同的计算机上观看同一文档,而且可以保持同步. <br />
与先前getVisibleArea()返回的对象进行比较,测试可见区域是否改变. <br />
返回的对象应该被认为是封闭的数据结构.不要试图分解返回的对象,因为在将 <br />
来的版本中内容的格式可能不同. <br />
这个对象唯一不变的方法是: <br />
function equals(that:Object):Boolean; <br />
我们可以用它比较两个可见区域是否相同. <br />
setVisibleArea(area:Object, skipBroadcast:Boolean) : Void 调节当前可见 <br />
的页/缩放/滚动从而 匹配给定的区域对象. <br />
如果skipBroadcast是false (或未定义), 会广播on<wbr>VisibleAreaChanged(). <br />
如果skipBroadcast是true, 则不会广播on<wbr>VisibleAreaChanged(). <br />
传入的对象必须是先前由getVisibleArea返回的对象. <br />
不要试图创建你自己的对象,因为在将来的版本中内容的格式可能不同.</div>
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/317417.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2010-04-03 23:35 <a href="http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317417.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在web 上调用exe权限解决方法 ,关于FlashPaper2 命令行FlashPrinterexe的调用</title><link>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317416.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Sat, 03 Apr 2010 15:25:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317416.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/317416.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317416.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/317416.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/317416.html</trackback:ping><description><![CDATA[<p>http://hi.baidu.com/jiaxw/blog/item/93b619f38c5d805b342accf8.html<br />
</p>
<p><br />
</p>
<p>在此之前我已经找过很多国外的文章，很多人都碰到类似的情况 <br />
就是通过asp.net 调用服务器上的FlashPrinter.exe 程序,(这个程序可以通过虚拟打印机把所有可打印的文件转换成swf文件) <br />
我这里是通过Process类调用的 <br />
CMD的命令式这样的 <br />
xxx\\xxx\\FlashPrinter.exe "d:\\1.txt" -o "d\\1.swf" <br />
我在服务器上直接输入上面命令行正常运作 <br />
但是通过web 也就是Network Services用户组调用就没有正常输出文件， <br />
我调试过可以正常调用FlashPrinter.exe 进程,但就一直没有输出文件 <br />
<br />
我曾经从新安装新的window2003用于测试 <br />
第一次我用了好几个小时去搞: <br />
1.IIS权限 <br />
2.用户组权限 <br />
3.本地策略 <br />
4.打印机权限 <br />
我忘记了是搞了那些东西，不知不觉就可以通过asp.net 正常使用那个功能. <br />
后来我为了再次测试，我把系统还原了，结果我怎么在设置也不能正常调用那个功能了 <br />
在此之前已经设置过很多东西上面所说的是我不知道怎么样设置就可以运行了 <br />
PS:我身边有好几台机器，有些是正常的，有些就是一直烦着..查看事件日志说是已经成功转送打印命令，但就是打印的字节数为0</p>
<p>想把pdf转换成swf文件，就在asp.net后台代码中启动了flashpaper进程，但同样的代码在winxp下，好用。但在
win2003下，就不好用了。代码如下： <br />
<br />
public static void ConvertPdfToSwf(HttpRequest reqeust, String
styFileName, String[] dataFileNames, String outputFileFullName) <br />
{ <br />
try <br />
{ <br />
String flashPrinter =
String.Concat(AppDomain.CurrentDomain.BaseDirectory,
"FlashPrinter.exe");//FlashPrinter.exe <br />
System.Diagnostics.ProcessStartInfo startInfo = new
System.Diagnostics.ProcessStartInfo(flashPrinter); <br />
if (String.IsNullOrEmpty(outputFileFullName)) <br />
{ <br />
return ; <br />
} <br />
Int32 intLastDot =
outputFileFullName.LastIndexOf("."); <br />
//*********Temp
Programming**************************************** <br />
Int32 intLast = outputFileFullName.LastIndexOf("\\"); <br />
String path = outputFileFullName.Substring(0,
intLast); <br />
String tempFileName = path + "\\PdfToSwf20080923.pdf";
<br />
//***************************************************************** <br />
String swfFileName = String.Concat(path,
"\\PdfToSwf20080923.swf"); <br />
startInfo.Arguments = String.Concat(tempFileName, " -o
", swfFileName); <br />
System.Diagnostics.Process process = new
System.Diagnostics.Process(); <br />
process.StartInfo = startInfo; <br />
Boolean isStart = process.Start(); <br />
process.WaitForExit(); <br />
process.Close(); <br />
} <br />
catch(Exception ex) <br />
{ <br />
throw ex; <br />
}</p>
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/317416.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2010-04-03 23:25 <a href="http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317416.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FlashPaper2.2在jsp里</title><link>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317415.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Sat, 03 Apr 2010 15:16:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317415.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/317415.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317415.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/317415.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/317415.html</trackback:ping><description><![CDATA[http://yanghack.javaeye.com/blog/480516<br />
最近用FlashPaper2.2与java 的做了个web程序,
<br />
功能就是,用户上传的office文档PDF文档,上传后转换成swf在网页上显示
<br />
DOS命令很好执行
<br />
FlashPrinter.exe "C:\aa.DOC" -o "C:\aa.DOC.swf"
<br />
java里就用
<br />
Process process = Runtime.getRuntime().exec(cmd)
<br />
但是用process.waitFor();容易造成锁死,不建议使用
<br />
经过分析,可能是由于office版本过高
<br />
用office2007,能正常转换doc,ppt,pptx这几个.
<br />
如果在程序里,转换其他个比如docx,xls..就造成锁死了
<br />
所以还是不让它转吧,建议试试office2003.
<br />
pdf文件,由于装的是Adobe Reader 9,
<br />
服务器必须打开一个Adobe Reader 9的空窗口然后程序才能正常运转
<br />
建议试试低版本的Adobe Reader.
<br />
服务器Tomcat上如果总是转换失败,应该检查这些地方
<br />
FlashPrinter打印机"打印测试页"一下,不行就重装这个
<br />
Runtime.getRuntime().exec(cmd)
<br />
cmd命令前面不要加 "cmd /c ",
<br />
路径:URL的是/,DOS命令是\,这两斜杠千万别搞错
<br />
Tomcat编码,可能中文文件名的文件不能转换.
<br />
不行就把打印机的权限什么用户都钩上,我就这么干的
<br />
有什么更好的解决办法告我说啊...
<br />
<br />
<br />
--------------------------------------
<br />
<br />
2010.03.22 补充:
<br />
以前写的东西不详细,想再补充一点.
<br />
<br />
在web中想要用FlashPrinter转换文档的话,用cmd这种方式简单.
<br />
但是,如果2条命令同时执行就会卡死了,建议写一个打印任务列队,新任务不直接打印.
<br />
想要打印机正常,就要让FlashPrinter打印机成为默认打印机,并且不受远程桌面会话影响.
<br />
连接远程桌面,会产生一个打印机会话,并自动设置成默认.
<br />
此时将失去打印功能,需要保持Macromedia FlashPaper为默认打印机,并不收会话影响.
<br />
如此一来,可正常打印所有office文档
<br />
<br />
导入注册表重启生效:
<br />
Windows Registry Editor Version 5.00
<br />
<br />
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal
Services]
<br />
"fForceClientLptDef"=dword:00000001
<br />
"fInheritAutoClient"=dword:00000000
<br />
"fDisableCpm"=dword:00000001
<br />
"fAutoClientLpts"=dword:00000001
<br />
<br />
<br />
<br />
<br />
谷歌的开源项目<br />
http://code.google.com/p/masterlrg/source/browse/ComponentsLearning/src/PaperLoad/FlashPaperLoader.as?r=44<br />
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/317415.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2010-04-03 23:16 <a href="http://www.blogjava.net/wangxinsh55/archive/2010/04/03/317415.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Flash as 3编程的总结</title><link>http://www.blogjava.net/wangxinsh55/archive/2008/01/27/178047.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Sun, 27 Jan 2008 10:40:00 GMT</pubDate><guid>http://www.blogjava.net/wangxinsh55/archive/2008/01/27/178047.html</guid><wfw:comment>http://www.blogjava.net/wangxinsh55/comments/178047.html</wfw:comment><comments>http://www.blogjava.net/wangxinsh55/archive/2008/01/27/178047.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangxinsh55/comments/commentRss/178047.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangxinsh55/services/trackbacks/178047.html</trackback:ping><description><![CDATA[<p>作者:kinglong | 来源:kinglong | 浏览次数:184 | 2007-6-24 22:47:08</p>
<p>最近用AS3写一些项目，在编程过程中，遇到不少问题，同时也有一些收获和心得。现在贴出来希望对大家在AS3编程有一些帮助。如果你发现有说得不对的地方，你可以指出来，大家一起来讨论。<br />
1、AS3的强制类型转换<br />
我之前一直以为是没有这个功能的，而最近在看一些文档，发现这个功能是有的。目前总结下来有两种写法：<br />
var loader:URLLoader = URLLoader(event.target);<br />
不知道这种写法是借鉴那种编程语言，反正我没有见过。<br />
补充这个语法说明：http://livedocs.adobe.com/flash/8_cn/main/00001211.html <br />
var loader:URLLoader = event.target as URLLoader;<br />
这种写法是借鉴VB.Net编程语言，唉！AS3语法真得一个大杂烩。<br />
2、URLStream和URLLoader<br />
URLStream在文本文件数据方面可以支持多种字符编码。<br />
URLLoader在进过测试后，发现除UTF-8字符编码外，其他字符编码读过来的数据都是乱码。<br />
可通过ByteArray对象字符编码转换(感谢abc12hjc提供补充代码)：<br />
public class MoxieAS extends Sprite <br />
{ <br />
&nbsp;&nbsp;&nbsp; public function MoxieAS () <br />
&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var stream:URLStream = new URLStream; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stream.addEventListener(Event.COMPLETE, complete); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stream.load(new URLRequest("ttt.xml"));&nbsp; //&nbsp; &lt;root&gt;&lt;a /&gt;&lt;b /&gt;&lt;c /&gt;&lt;/root&gt; <br />
&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; private function complete (event:Event):void <br />
&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var stream:URLStream = event.target as URLStream; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var xml:XML = XML(stream.readUTFBytes(stream.bytesAvailable)); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trace(xml.*.length());&nbsp; //&nbsp; output 3 <br />
&nbsp;&nbsp;&nbsp; } <br />
}<br />
具体用那个方式就看实际功能需求了。<br />
3、URLRequest<br />
URLStream、URLLoader、Loader等读取外部数据的类，里的load方法参数值是URLRequest对象。我在编程过程总是喜欢直接写地址字符串，原来习惯改过来看样子要花点时间了。<br />
4、Loader<br />
在使用Loader来加载数据时，添加侦听事件时，注意一定要给Loader的 contentLoaderInfo属性增加事件，而不是给Loader对象增加事件。我就是因为加错对象（关键是编译时还没有报错），郁闷得差点要把电脑给扔了。<br />
错误写法：<br />
　var loader:Loader = new Loader(); <br />
　loader.addEventListener(Event.COMPLETE, completeHandler);<br />
　loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); <br />
　loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);<br />
正确写法：<br />
　var loader:Loader = new Loader(); <br />
　loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);<br />
　loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); <br />
　loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);<br />
5、Loader加载过来的数据类型<br />
此信息来自〖闪无忧〗<br />
查看原网址:http://www.5uflash.com/Html/as3/22474444.html</p>
大家知道Loader是用来代替原来 MovieClip的loadMovie功能，用于加载外部的图片文件，SWF文件。<br />
如果加载图片文件（jpg，gif，png等）时，Loader.content得到数据类型是Bitmap对象； <br />
如果加载SWF文件（flash 9 版本）时，Loader.content得到数据类型是MovieClip对象； <br />
如果加载SWF文件（flash 9 以前版本） 时， Loader.content得到数据类型是AVM1Movie对象；<br />
6、stage<br />
在调试flash过程发现，如果把swf文件放到html页面后，stage.stageWidth和stage.stageHeight在第一次加载调用时，他们的值为空值；<br />
7、 AVM1Movie<br />
如果是AVM1Movie 对象时，就不能直接调用stop，play，gotoAndStop等原来MovieClip对象的功能了，而且不能将AVM1Movie 对象转换成MovieClip对象。目前解决办法：一种是用flash cs3 重新生成 flash 9的swf文件；另一种是国外网站有说能AVM1和AVM2两个虚拟机相互调用的方式（贴一个地址）；<br />
8、mask<br />
在使用遮罩功能，发现一个问题，如果不把用于遮罩的显示元件通过addChild方法添加到同一级的显示容器里的话，遮罩效果就显示不正常，不知道这个是不是一个bug。我差点因为这个问题而放弃AS3改用AS2了<br />
此信息来自〖闪无忧〗<br />
查看原网址:http://www.5uflash.com/Html/as3/22474444_2.html
<img src ="http://www.blogjava.net/wangxinsh55/aggbug/178047.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangxinsh55/" target="_blank">SIMONE</a> 2008-01-27 18:40 <a href="http://www.blogjava.net/wangxinsh55/archive/2008/01/27/178047.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>