flash8下的#include NetDebug.as

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:flash8下的#include NetDebug.as
  • 本文链接:http://zengrong.net/post/64.htm


在使用Flash MX 2004和Flash Communication Server开发程序的过程中,为了便于调试,通常会在客户端程序中加上这么一句:

#include "NetDebug.as"

然后配合NetConnection Debugger,就可以随时看到调试信息。可是,将程序转到Flash 8之后,这招却不灵了,即使我已经安装了 Flash Remoting Components for Flash 8

找到Flash安装文件夹下的“language\First Run\Classes\mx”,发现remoting的文件一个不少,那为什么不能include呢?


flash8 Remoting目录

原来,用于include的“NetDebug.as”与“language\First Run\Classes\mx\remoting\debug”中的类并非同一个,前者其实在“language\First Run\Include”目录中,与后者同名。使用#include “NetDebug.as”指令调用的则是前者。

而Flash 8的Include目录中并没有“NetDebug.as”,要使用原来的方法,还要将Flash mx 2004的Include目录中的内容复制过来:

Flash mx 2004 Include目录

原以为这样就可以高枕无忧,却发现在Class中,好像不能直接使用Netdebug.trace()方法,编译时报错。但是同样的程序,在Flash MX 2004却没有问题。

**错误** L:\work\......\view\child\ActorList.as: 第 51 行: 没有名为'NetDebug'的方法。
NetDebug.trace("data:"+temp.data);

于是在Class中加入下面的代码,一切恢复正常。

class view.child.ActorList extends MovieClip{
                    ......
	private var NetDebug;
	function ActorList(){
		NetDebug = _global.NetDebug;
	}
                    ......