2013-07-02 68 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內部。謝謝你的時間。 –