In Delphi FMX XE7, Win32, I have a record type:
type TSettingsRec = record
SessionTimeOut: Word;
EventString: String[50];
end;
When I change the Target to Android, I get a compiler error:
[DCC Error] MainForm.pas(45): E2029 ‘;’ expected but ‘[‘ found
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):
var
rec: TSettingsRec;
settings: string;
SetLength(settings, SizeOf(rec)*2);
BinToHex(@rec, @settings[1]), SizeOf(rec));
This I decode effectively in using XE7 (win32) using:
var
rec: TSettingsRec;
settings: String;
SetLength(settings, SizeOf(rec) * 2);
System.Classes.HexToBin(Pchar(settings), @rec, SizeOf(rec));
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?