<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <br>
    <div class="moz-cite-prefix">Am 2013-03-03 13:49, schrieb Xiangrong
      Fang:<br>
    </div>
    <blockquote
cite="mid:CAP93jB2z1YuXsgiOg7-3_SSYr5L=_Lrsg_GiS9Lon8OxKotZog@mail.gmail.com"
      type="cite"><span style="font-family:courier new,monospace">Hi
        Sven,<br>
        {$mode objfpc}{$H+}<br>
          TConfiguration = packed record<br>
              DataFolder: string;<br>
          end;<br>
        does not work, but:<br>
      </span></blockquote>
    <br>
    A (Ansi)string in <span style="font-family:courier new,monospace">{$H+}
      mode is just a pointer (to the characters of the string). So
      sizeof(DataFolder)=4 (or 8) in all cases.</span> There is no room
    for the string unless you configure it with
    SetLength(DataFolder,MaxPathLen). But even then the record does not
    store the characters. It only stores the pointer to the string:<br>
    <br>
    DataFolder = pointer<br>
    DataFolder[1] = DataFolder^[1] = first character of the string.<br>
    <br>
    There is an automatic dereferenciation that allows to write
    DataFolder[x] although the logic would require DataFolder^[1].<br>
    <br>
    <br>
    <br>
  </body>
</html>