title: Function Pointers with different signatures (example: optional parameter with a default value)
body: <p>Is it possible to create a function-pointer with a default parameter, something like</p>
  
  <pre><code>TFunctionPointer = function(sName:AnsiString; tOptional: TObject = nil):smallint;
  </code></pre>
  
  <p>What I want to achieve:</p>
  
  <p>A function pointer, which can accept a function of type</p>
  
  <pre><code>function A(sName:AnsiString)
  </code></pre>
  
  <p>or</p>
  
  <pre><code>function B(sName:AnsiString, tOptional: TObject)
  </code></pre>
  
  <p>How can I achieve this?</p>