title: Is PChar('') guaranteed to be a pointer to #0 (not nil)?
body: <p>I understand that in Delphi, an empty string (AnsiString or WideString) can be represented by a nil pointer, or by a pointer to an actual empty string.</p>
  
  <p>By experiment I've shown that in Delphi XE2 (with particular compiler settings) <code>PChar('') &lt;&gt; nil</code>. But is this guaranteed, or might it change in a future version, or be dependent on some compiler setting?</p>
  
  <p>I'm having a crisis of confidence. If anyone can give me a definitive answer I'd be grateful.</p>