Каждый раз при вызове OleCreatePropertyFrame система автоматически создает объект TActiveXPropertyPage, соответственно у ComServ увеличивается счетчик ObjectCount. Необходимо как-то сделать, чтобы после закрытия странички свойств этот объект корректно разрушался и счетчик ObjectCount уменьшался.
Подскажите пожалуйста, как это можно сделать или как-то обойти эту проблему?
код вызова странички свойств примерно такой:
procedure TXXX.ShowPropertyPage;
procedure CoFreeMem(P: Pointer);
begin
if P <> nil then CoTaskMemFree(P);
end;
var
Unknown: IUnknown;
Pages: TCAGUID;
begin
OleCheck(GetPages(Pages));
try
if Pages.cElems > 0 then
begin
Unknown := Self;
OleCheck(OleCreatePropertyFrame(GetActiveWindow, 16, 16,
nil,
1, @Unknown, Pages.cElems, Pages.pElems,
GetSystemDefaultLCID, 0, nil));
end;
finally
CoFreeMem(pages.pElems);
end;
end;