Por que uma dinâmica array of string
se torna incompatível com outra dinâmica array of string
quando colocada dentro de um registro ou classe?
type
TRec = record
ArrayInRecord: array of string;
end;
var
Rec: TRec;
SimpleArray1, SimpleArray2, CombinedArrayOK, CombinedArrayFail: array of string;
begin
SimpleArray1 := ['1', '2'];
SimpleArray2 := ['3', '4'];
CombinedArrayOK := SimpleArray1 + SimpleArray2; // No problem here
Rec.ArrayInRecord := ['5', '6'];
CombinedArrayFail := SimpleArray1 + Rec.ArrayInRecord; // E2008 Incompatible types
end;