Hallo Delphi Community,
es kann sein, dass ich euch für euch einfache Fragen stelle, aber ich freue mich auf eure Tipps 😉
Eine kurze Frage zur Zuweisung von statischen an dynamische Arrays, die als Parameter in der Prozedur als TObject-Arrays deklariert sind.
Delphi-Quellcode:
cArray: Array[0..3] of TUnterklasse;
dynArray: array of TOberklasse;
Ich möchte an dynArray das statische cArray übergeben.
Wird die Wertzuweisung direkt in der Aufrufmethode durchgeführt, klappt es:
Delphi-Quellcode:
SetLength(dynArray, Length(cArray));
for i := 0 to High(cArray) do
dynArray [i] := cArray [i];
In folgender Prozedur wird für aiArray = cArray „Inkompatible Typen“ gemeldet, obwohl der Parameter als Open Array von TObject deklariert ist.
Delphi-Quellcode:
setArrayObj(cArray, dynArray);
procedure setArrayObj(aiArray: array of TObject; var aoArray: TObjectArray); //2024-07-11
var i: Integer;
begin
SetLength(aoArray, Length(aiArray));
for i := 0 to High(aiArray) do
aoArray[i] := aiArray[i];
end;
Vielen Dank für eure Hinweise 😉