У меня возникает утечка памяти, когда я выхожу из своего приложения на созданном мной объекте THTTPRIO.Утечка памяти на простой HTTPRIO
У меня есть вебсервис определено как следует:
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;
Я тестирование/создание веб-сервиса, как следует (CustomerCare мой вебсервис интерфейс):
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, я m на самом деле ничего не делает, кроме создания веб-сервиса, снова установите его на ноль и закройте приложение. В этот момент (с ReportMemoryLeaksOnShutDown: = True) я получаю непредвиденную утечку памяти из 12 байтов в TSimpleWebService.
Я попытался добавить деструктор Destroy, но он, похоже, не вызван.
Что мне не хватает?
Спасибо за ваш вклад, Jan
Ах да, я на XE2 Windows 2003. В дополнение к утечке памяти на TSimpleWebservice, я также получаю утечка памяти на объекте TDictionary, но я понятия не имею, откуда это происходит. Когда я компилирую и запускаю тот же проект на XE4/Windows 7, я получаю только утечку памяти TSimpleWebservice.