我有一个用于Flash控件的自定义容器(C#),并且正在来回传递数据。在此之前,我将使用ExternalInterface.call并传递一个数组作为参数。既然Vector是可用的,我更愿意使用它,但是当我这样做时,调用似乎永远不会进行。
然而,如果它是嵌入到IE中的话,它是被制造出来的。在IE中,Flash似乎会发送JavaScript来执行,而不是序列化为XML。我的猜测是,Vector序列化是不允许的,所以Flash就忽略了这个调用。
有人有什么想法吗?除了回到使用Array之外,我现在已经这样做了。
发布于 2010-12-16 01:42:58
文档注意到:
其他内置或自定义类- ActionScript将其他对象编码为null或空对象。在这两种情况下,任何属性值都会丢失。
还不完全清楚这意味着什么,因为自定义类也是对象--我猜只有香草对象才算?但无论如何,Vector似乎属于“其他内置类”类别,因此在传递数据之前,您需要使用Array或重新转换到Array。
发布于 2010-12-16 12:50:02
您可以将数组与[ArrayElementType("type")]一起使用。或为Vector编写序列化函数。
https://stackoverflow.com/questions/4454340
复制相似问题