Показать сообщение отдельно
Старый 09.12.2010, 18:25
Furinax вне форума Посмотреть профиль Отправить личное сообщение для Furinax Найти все сообщения от Furinax
  № 1  
Ответить с цитированием
Furinax

Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
По умолчанию Сериализация/десириализация объектов, классы которых наследуются от Dictionary

В общем, не получается

Пример кода:

Класс:
Код AS3:
package testPack
{
	import flash.net.registerClassAlias;
	import flash.utils.Dictionary;
	import flash.utils.IDataInput;
	import flash.utils.IDataOutput;
	import flash.utils.IExternalizable;
 
	[RemoteClass(alias="testPack.Test")]
	public dynamic class Test extends Dictionary implements IExternalizable
	{
 
		protected var tested:Boolean = false;
 
		public function Test(weakKeys:Boolean = false):void
		{
			super(weakKeys);
			registerClassAlias("flash.utils.Dictionary", Dictionary);
			registerClassAlias("testPack", Test);
		}
 
		public function readExternal(input:IDataInput):void
		{
			tested = input.readBoolean();
			trace("READ:");
			trace("tested = " + tested);
		}
 
		public function writeExternal(output:IDataOutput):void
		{
			output.writeBoolean(tested);
			trace("WRITE:");
			trace("tested = " + tested);
		}
	}
}
Тестовый пример использования:

Код AS3:
var test1:Test = new Test();
trace(test1);  // [object Test]
 
var bytes:ByteArray = new ByteArray();
bytes.writeObject(test1);
bytes.position = 0;
 
var test2:Test = bytes.readObject() as Test;
bytes.position = 0;
trace(test2); // null
Гуглил, ничего не нашел.

Заранее спасибо за ваше потраченное время.