请问delphi 反序列化的问题

keyake863 2008-01-15 04:26:36
我用c# .net 做了一个webservice,这个服务器从数据提取一段记录集保存到dataset,然后将这个dataset序列化为二进制数组传递给客户端,客户端是使用的delphi编写的,现在要实现在客户端将二进制数组反序列化到dataset,请问如何实现这个过程,谢谢各位。
本人有结贴的习惯
...全文
258 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
keyake863 2008-01-16
  • 打赏
  • 举报
回复
多谢楼上回复,我现在就是将数据集序列化以后转换为二进制数组进行传递的,按照楼上的说法是可以在delphi中进行解包的是吗?如果可以可否提供一下参考代码和方案?
lextm 2008-01-15
  • 打赏
  • 举报
回复
框架自带的二进制序列化只适合很少的情况,因此这种情况应该手工序列化到文件流里面,然后传递二进制的byte[]。

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

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

如果你使用的是SOAP或者JSON Formatter,Delphi这边则可以依照SOAP或者JSON解包,也是可以反序列化的。
keyake863 2008-01-15
  • 打赏
  • 举报
回复
不会吧,我还要传图片什么的,仍然要序列化的,不然要怎么传?
Erice 2008-01-15
  • 打赏
  • 举报
回复
很遗憾,没有,delphi中不会存在序列化的东西。

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

请问,你不会用的delphi 7 以上的版本吧?如果是,就当我没说。因为以上版本我没用过!
keyake863 2008-01-15
  • 打赏
  • 举报
回复
回楼上,多谢回复,c#中用的序列化是BinaryFormatter,我不清楚这是不是你说的系统序列化,delphi如果反序列化可否提供方法?
Erice 2008-01-15
  • 打赏
  • 举报
回复
我的建议是 c和s之间 传递的是xml字符串,或者自定义或者就用系统序列化的。

在项目中,我这样使用过!

1,978

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧