Имеем:
Type
TMyClass = class
private
FStrings: array of String;
public
constructor Create(AStrings: array of String);
end;
...
constructor TMyClass.Create(AStrings: array of String);
begin
FStrings := AStrings;
end;
получаем [dcc32 Error] Unit1.pas(102): E2010 Incompatible types: 'Dynamic array' and 'array of string'
Я конечно могу написать так:
constructor TMyClass.Create(AStrings: array of String);
var i: Integer;
begin
SetLength(FStrings, Length(AStrings));
for i := 0 to High(AStrings) do FStrings[i] := AStrings[i];
end;
но мне кажется есть более кашерный вариант :)