您的位置:程序门 -> .net技术 -> delphi.net



请问delphi 反序列化的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请问delphi 反序列化的问题
发表于:2008-01-15 16:26:36 楼主
我用c#   .net   做了一个webservice,这个服务器从数据提取一段记录集保存到dataset,然后将这个dataset序列化为二进制数组传递给客户端,客户端是使用的delphi编写的,现在要实现在客户端将二进制数组反序列化到dataset,请问如何实现这个过程,谢谢各位。
本人有结贴的习惯
发表于:2008-01-15 16:36:371楼 得分:0
我的建议是   c和s之间   传递的是xml字符串,或者自定义或者就用系统序列化的。

在项目中,我这样使用过!
发表于:2008-01-15 16:44:432楼 得分:0
回楼上,多谢回复,c#中用的序列化是binaryformatter,我不清楚这是不是你说的系统序列化,delphi如果反序列化可否提供方法?
发表于:2008-01-15 16:52:353楼 得分:0
很遗憾,没有,delphi中不会存在序列化的东西。

我说的意思是,通过系统自带的序列化功能,首先序列化成xml字符串。   delphi   接收webs的xml字符串,再在delphi中完成解析工作!

请问,你不会用的delphi   7   以上的版本吧?如果是,就当我没说。因为以上版本我没用过!
发表于:2008-01-15 17:26:124楼 得分:0
不会吧,我还要传图片什么的,仍然要序列化的,不然要怎么传?
发表于:2008-01-15 17:55:025楼 得分:0
框架自带的二进制序列化只适合很少的情况,因此这种情况应该手工序列化到文件流里面,然后传递二进制的byte[]。

例如.net   2.0序列化的东西,拿到1.1下面去反序列化,它就是出错。而c#和delphi   win32差了十万八千里,根本就没办法反序列化的。

而手工做的话,应该可以在delphi中按顺序读出来。

如果你使用的是soap或者json   formatter,delphi这边则可以依照soap或者json解包,也是可以反序列化的。
发表于:2008-01-16 10:37:266楼 得分:0
多谢楼上回复,我现在就是将数据集序列化以后转换为二进制数组进行传递的,按照楼上的说法是可以在delphi中进行解包的是吗?如果可以可否提供一下参考代码和方案?


快速检索

最新资讯
热门点击