Das Problem unter D5 ist, dass
array of string in einer Prozedurdeklaration als "OpenArray" genutzt wird. Eine Variabel vom Typ
array of string jedoch als dynamisches Array. Diese beiden Typen sind nicht vereinbar.
Über die deklaration eines neuen Typs:
Code:
type
TStringArray = array of string;
kannst du dieses Problem umgehen.
Code:
procedure SetObject(MainObject: array of TObject;
out MainVariable: TStringArray); overload;
begin
//
end;
...
procedure TForm1.Button1Click(Sender: TObject);
var
ABC: TStringArray;
begin
SetObject([Button1], ABC);
end;