问题标签 [iexternalizable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
521 浏览

apache-flex - Flex:RemoteObject + IExternalizable 意外泄漏?

我一直在修补IExternalizable,但我注意到了一些意想不到的行为。我有这门课:

但是当我尝试使用 AMF 序列化此类并将其发送到远程服务器(通过RemoteObject)时,Charles 向我显示请求如下所示:
意外结果 http://img.skitch.com/20100406-cjawastycagp1x2chbe76k2suu.png

但是我的序列化对象泄漏到请求的其余部分似乎是错误的。

那么,我做错了什么?我错过了一些文档吗?

0 投票
3 回答
3718 浏览

actionscript-3 - 使用“as”转换对象返回 null:myObject = newObject as MyObject; // 空值

我正在尝试在 AS3 中创建一个自定义对象,以将信息传入和传出服务器,在本例中将是 Red5。在下面的屏幕截图中,您将看到我能够从 as3 发送对象请求,并从 java 服务器成功接收它。但是,当我尝试使用“as”将接收到的对象转换为我定义的 objectType 时,它​​的值为 null。据我了解,当使用“as”时,您正在检查您的变量是否是指定数据类型的成员。如果变量不是,则返回 null。

此屏幕截图说明我已成功从 red5 接收到我的对象“o”,我正准备将其转换为 LobbyData 的(假定)相同的数据类型 testObject:

替代文字 放大

但是,当 testObject = o as LobbyData;运行时,它返回 null。:(

替代文字 放大

下面您将在 java 服务器和 as3 客户端上看到我的规范。我相信这两个对象在各个方面都是相同的,但出于某种原因,flash 不这么认为。我已经拉了很长时间的头发,有人有什么想法吗?

AS3 对象:

Java 对象:

AS3 客户端:

Java 客户端

0 投票
1 回答
2415 浏览

actionscript-3 - 如何将对象保存到文件 (AS3 / Air)

我想要的是?将我的项目保存在使用 Air Application 创建的编辑器中

要保存什么?1个对象->类型ArrayCollection->包含->来自自己类的对象...

我的第一次尝试是什么?

问题是什么?myArrayCollection 内部的对象具有以下结构:

每个公共变量都由 FileStream 保存.... 工作正常在子数组集合中是来自此类的对象:

现在的问题...... fileStream 包含我的 MyClass2 对象与 var “title” 但没有孩子 ArrayCollection... 控制台不显示痕迹:-/

0 投票
2 回答
1068 浏览

actionscript-3 - IExternalizable (as3)

有人用过 IExternalizable 接口吗?...

我有一个基本问题。当我序列化我的对象......并保存为文件......现在我想在类中进行一些更改......例如添加一个属性......我无法将文件重新转换为此类的对象...因为在 readExternal 方法中现在多了一个属性,存储的对象(文件)不拥有该属性...。

有没有办法让这更灵活?

-- // 德语

你好帽子 schon mal jemand das im Titel erwähnte Interface benutzt?...

Habe mal ne grundlegende Frage dazu。Wenn ich mein Objekt serialisiert habe... und als Datei abgespeichert habe.... und nun in der Klasse einige Änderungen vornehmen möchte... zB ein Attribut hinzufügen... dann kann ich die Datei nicht wieder in ein Objekt dieser Klasse umwandeln ... weil in der readExternal methode nun ein Attribute mehr abgefragt wrd, welches das gespeicherte Objekt (Datei) nicht besitzt....

gibts da Möglichkeiten das flexibler zu machen?

0 投票
2 回答
2977 浏览

java - Java 对象的 BlazeDs 序列化

我有一些实现序列化的 Java 类,以及实现 IExternalizable 的相应 AS 对象(由 GAS 自行生成)。

从服务器接收对象没有问题,但是当我尝试将对象发送到服务器时 - 它会引发异常:

真的我必须实现 Externalizable 将对象发送到 Java 服务器?!

0 投票
1 回答
224 浏览

actionscript-3 - 如何处理数据不一致?AS3 IExternalizable.readExternalData + sqlstatement.execute()

我进行 AS3 Air 开发并使用 SQLite 在会话之间存储对象,这在AS3 Developer GuideAS3 SDK Reference中有详细记录。

存储在数据库中的类实现 IExternalizable,以便可以使用 BLOB 存储和恢复实例。这很有效,但我很难找到如何正确应对错误的反序列化。问题出现在以下情况:

  1. 对象序列化
  2. 对象已保存
  3. 班级改变和程序更新
  4. 序列化数据不再匹配保存的数据

我最初的方法是这样的:

可悲的是,在 readExternal 中抛出错误会导致我的 SQLStatement.execute() 严重失败,并且 try..catch 没有用。

我目前处理这个问题的想法:

  1. 程序更新时擦除数据库中的所有数据(哎哟)
  2. 向类添加标志以指示反序列化错误
  3. 使 SQLStatement.execute() 对抛出的错误做出正确反应

1和2我知道怎么做,但都不漂亮。3 我没有找到解决方案(还没有?)

其他想法或专业知识表示赞赏。

0 投票
1 回答
104 浏览

actionscript-3 - AS3 - IExternalizable 的问题

所以,我最近一直在使用 ByteArrays,我遇到了一些烦人的问题,让我想把头发扯掉。

基本上,我正在尝试为我正在制作的将游戏角色编译到一个文件中的应用程序保存项目数据。该项目包括自定义对象、向量、向量的向量,甚至是自定义对象的向量的向量!我认为正确写入所有这些数据的最佳方法是将 IExternalizable 接口与 readExternal 和 writeExternal 命令一起使用。所以这就是我正在做的事情。

我将所有项目数据写入一个对象,然后将该对象写入 ByteArray,并将其保存到文件中:

但是在 KeyFrame 类中,还有两个自定义对象的向量:

所以我设置了这两个类和我的 KeyFrame 类以使用 IExternalizable:

但是当它到达“根”字节数组的 writeObject() 方法时,我得到了错误:

这可能是我遇到过的最烦人的问题。好像我已经尝试了一切,但没有任何效果。其他人有这方面的经验吗?难道我做错了什么??我会很感激我能得到的任何帮助。我只想继续制作我的游戏:<