title: Delphi XE7 Android Record with String Element won't compile
body: <p>In Delphi FMX XE7, Win32, I have a record type:</p>
  
  <pre><code>type TSettingsRec = record
    SessionTimeOut: Word;
    EventString: String[50];
  end;
  </code></pre>
  
  <p>When I change the Target to Android, I get a compiler error:</p>
  
  <blockquote>
    <p>[DCC Error] MainForm.pas(45): E2029 ';' expected but '[' found</p>
  </blockquote>
  
  <p>I need to define the length[50] of the EventString element because the TRecord is actually being read from a database (Firebird) which was written  to the database by a Delphi 7 program using Bin2Hex (for a reason known only to the author of that program):</p>
  
  <pre><code>var
    rec: TSettingsRec;
    settings: string;
  
  SetLength(settings, SizeOf(rec)*2);
  BinToHex(@rec, @settings[1]), SizeOf(rec));
  </code></pre>
  
  <p>This I decode effectively in using XE7 (win32) using:</p>
  
  <pre><code>var
    rec: TSettingsRec;
    settings: String;
  
  SetLength(settings, SizeOf(rec) * 2);
  System.Classes.HexToBin(Pchar(settings), @rec, SizeOf(rec));
  </code></pre>
  
  <p>But this doesn't work, when I compile for Android. So how do I specify the length [50] of the EventString on the Android platform?</p>