title: What are dispinterface declarations used for?
body: <p>When you create a type library in Delphi and create an interface and the associated CoClass, Delphi also creates matching dispinterface declarations.</p>
  
  <p>My understanding is that these relate to the fact that my interface derives from IDispatch, but I thought that TAutoObject implements everything needed for IDispatch. So my question is threefold:</p>
  
  <ol>
  <li>What is the dispinterface used for?</li>
  <li>Why is it needed?</li>
  <li>How does one use it?</li>
  </ol>