title: ShortDateFormat vs FormatSettings.ShortDateFormat?
body: <p>In trying to get Log4D to compile in XE4, I was seeing </p>
  
  <blockquote>
    <p>[dcc32 Error] Log4D.pas(2139): E2003 Undeclared identifier: 'ShortDateFormat'</p>
  </blockquote>
  
  <p>on this line:</p>
  
  <pre><code>SetOption(DateFormatOpt, ShortDateFormat); 
  </code></pre>
  
  <p>A bit of googling led me to the solution of changing <code>ShortDateFormat</code> to <code>FormatSettings.ShortDateFormat</code>, which led to the following compiling code on XE4:</p>
  
  <pre><code>SetOption(DateFormatOpt, FormatSettings.ShortDateFormat); 
  </code></pre>
  
  <p>However, I don't really understand <em>why</em> that fixes things why it's needed to specify <code>FormatSettings</code> since I already included <code>SysUtils</code> in my uses statement, and secondly, I'm not sure how to rewrite this line to continue to be backward compatible with the versions of Delphi this open source project already supports.</p>
  
  <p>I suppose I could add an IFDEF around that parameter or line of code for whatever version of Delphi introduced <code>FormatSettings</code> - but I'm not even sure what version of Delphi that was, let alone whether that's a good or bad way to solve this problem.</p>