unit uAggregatedObj;

interface

uses
  Sysutils;

type
  IAggInterface = interface
    ['{D6D810F0-EE6A-4374-A069-8EF6F3B1832F}']
    function GetInnerName(var sName: WideString): HResult; stdcall;
  end;

  TAggregatedObj = class(TAggregatedObject, IAggInterface)
  public
    function GetInnerName(var sName: WideString): HResult; stdcall;
  end;

implementation

{ TAggregatedObj }

function TAggregatedObj.GetInnerName(var sName: WideString): HResult;
begin
  sName := 'I am Aggregated Object!';
  Result := S_OK;
end;

end.
 