Это объект или интерфейс? Нужно освобождать или нет?

Добрый день! Функция GetService создает экземпляр класса THTTPRIO и возвращает его как IInvokable. Я использую этот интерфейс/объект в другой функции. Должен ли я освобождать его или нет, когда он мне больше не нужен? Интерфейсы освобождать не нужно, но меня смущает то, что RIO создается как объект класса THTTPRIO.

function GetService(Addr: string): IInvokable;
var
  RIO: THTTPRIO;
begin
  RIO := THTTPRIO.Create(nil)
  RIO.URL := Addr;
  Result := (RIO as IInvokable);
end;

Где:

IInvokable = interface(IInterface);
THTTPRIO = class(TComponent, IInterface, IRIOAccess);

Заранее спасибо! Войтех

5
задан Vojtech 14 March 2012 в 15:26
поделиться