title: How do I add an interface to a class hierarchy that doesn't already include TInterfacedObject?
body: <p>The following example shows how to start coding against interfaces:</p>
  
  <p>from</p>
  
  <pre><code>TMyObject = class
    function Add(a, b: integer): integer;
  end;
  </code></pre>
  
  <p>to    </p>
  
  <pre><code>IInterface = interface
    ['{BFC7867C-6098-4744-9774-35E0A8FE1A1D}']
    function Add(a, b: integer): integer;
  end;
  
  TMyObject = class (TInterfacedObject, IInterface 
    function Add(a, b: integer): integer;
  end;
  </code></pre>
  
  <p>but how can I manage if the class has an ancestor, let say TMyClassDerivedDirectlyFromTObjectSoItsGotNothingInItAtAll for instance ?</p>
  
  <pre><code>TMyObject = class(TMyClassDerivedDirectlyFromTObjectSoItsGotNothingInItAtAll)
      function Add(a, b: integer): integer;
  end;
  </code></pre>