用过ClientDataSet 读取Xml 的同志帮忙看一下。谢谢!(150分)

  • 主题发起人 主题发起人 小神通
  • 开始时间 开始时间

小神通

Unregistered / Unconfirmed
GUEST, unregistred user!
请各位都来试一下,在窗体中用加一个ClientDataSet ,(加个datasource 和 dbgrid,设置好相互的属性为了看ClientDataSet内容用)
然后读入这个xml。

<?xml version="1.0" encoding="gb2312" standalone="yes" ?>
<DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD attrname="ID" fieldtype="i4" required="true" />
<FIELD attrname="BH" fieldtype="i4" required="true" />
<FIELD attrname="BBMC" fieldtype="string" WIDTH="60" />
<FIELD attrname="BB" fieldtype="bin.hex" SUBTYPE="HBinary" />
</FIELDS>
<PARAMS />
</METADATA>
<ROWDATA>
<ROW ID="100" BH="11" BBMC="报表1" BB="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" />
<ROW ID="200" BH="12" BBMC="报表2" BB="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAA8A" />
</ROWDATA>
</DATAPACKET>


我的报错:Access violation at address 4DB1A2AB in module 'midas.dll'. Read of address FFFFFFF8.

奇怪的是 将 bb字段随便减少些字符就可以,不会报错。

是不是 ClientDataSet 对 blob字段编码后的大小有字符限制还是delphi的bug?如何解决。


其中我的报表字段的编码大小远远大于以上例子,为了方便大家验证我的发现 bb字段内容是我胡编的。

(更奇怪的是: 我的问题好像总是没人在意:( ,我可是给分守信用的)
 
我帮呢看看
 
老大,我打开的时候一点问题都没有,你是在那么调用的?
 
奇怪的是: 楼主对我的回复好像总是漠不关心 :(
 
不好意思,公司的网断了。才同
设计和运行时都出现。
我用的是delphi6 是不是大家运行都没问题?
难道我的delphi者的要冲撞了?
delp, 要不你把BB字段家很多很多看看出不出现错误?
 
我用的是D7,绝对没问题
 
都希望你说的在我的机器上也能实现,我回去重装一下实施,如果可以,我回来就结贴

谢谢关注
看看我以前的问题,跟贴就有分。
 
我用3中方式都没问题
1/在设计期From上LoadFrom
2/在运行期LoadFromFile
3/在运行期ClientDataSet1.XMLData := Memo1.Text Memo1 为你贴的数据
 
我在别人的delphi6上试了,不行。
我在我装的delphi7上可以。
看来是delphi的问题了。
谁用d6试一下?
 
Delphi6
没有问题
 
d6,d7没问题,blob,image字段内的内容你不能随便变动,因为delphi是按一种编码格式进行编解码的
 
谁知道 fieldtype="i4" 是数值型,还有什么表示方法?
<FIELD attrname="ID" fieldtype="i4" required="true" />

另外给分
 
后退
顶部