2013-07-02 35 views
0

我已经完成了一个简单的php脚本,该脚本根据ClientDataset.CommandText属性从web服务器上的mysql服务器返回一个完全xml的数据包。TClientDataSet.XMLData泄漏内存

procedure TMainDataModule.AbertasAfterOpen(Dataset: TDataset); 
begin 
    DataSet.Tag := 0; 
end; 

procedure TMainDataModule.AbertasBeforeOpen(DataSet: TDataSet); 
begin 
    if Dataset.Tag = 0 then 
    begin 
    DataSet.Tag := 1; 
    with DataSet as TClientDataSet do 
     XMLData := myWebService.XMLDataPacket(CommandText); 
    end; 
end; 

MyWebService是一个简单的类,用于将CommandText发布到php脚本,解码/ encode64 xml并返回数据。

它工作正常,但madExcept/FastMM报告ClientDataset.SetXmlData中的内存泄漏。

我不明白为什么,有什么想法?

在此先感谢。

+0

这是什么报告准确? –

+0

http://pastebin.com/A3b0DxM9 –

回答

0

在Delphi XE中,WebService有一个内存泄漏,应该在DXE2中解决。你正在使用哪个版本?也许它不是ClientDataSet,但你的情况下的WebService呢?

QC#105538

+0

我的WS是用indy组件定制的,我使用的是BDS2006。如果您检查paste.bin,您将验证它发生在clientdataset内部。谢谢你的时间。 –