我在创建的THTTPRIO对象上退出应用程序时发生内存泄漏。简单HTTPRIO上的内存泄漏
我定义我的web服务如下:
type
TSimpleWebService = class
protected
FHTTPRIO : THTTPRIO;
public
constructor Create(URL : String);
property HTTPRIO : THTTPRIO read FHTTPRIO;
end;
implementation
constructor TSimpleWebService.Create(URL : String);
begin
FHTTPRIO := THTTPRIO.Create(nil);
FHTTPRIO.URL := URL;
end;
我测试/创建Web服务作为其次(CustomerCare是我的web界面):
procedure TfrmMain.Button1Click(Sender: TObject);
var
webservice: customercare;
begin
webservice := GetSimpleCustomerCareService;
webservice := nil;
frmMain.Close;
end;
function TfrmMain.getSimpleCustomerCareService: CustomerCare;
var
webservice: TSimpleWebService;
begin
webservice := TSimpleWebService.Create('http://this.is.a.test');
Result := webservice.HTTPRIO as CustomerCare;
end;
当我点击Button1的,我没有真正做任何事情,但创建web服务,将其设置为零再次退出应用程序。在这一点上(ReportMemoryLeaksOnShutDown:= True),我在TSimpleWebService上收到12个字节的意外内存泄漏。
我曾尝试添加一个析构函数销毁但它似乎没有被调用。
我错过了什么?
感谢您的输入, 扬
噢,我在XE2的Windows 2003除了在TSimpleWebservice内存泄漏,我也得到了TDictionary对象的内存泄漏,但我不知道那一个来自哪里。当我在XE4/Windows 7上编译和运行同一个项目时,我只能得到TSimpleWebservice内存泄漏。