Hab ich ja versucht, geht aber leider nicht.
Ich nehme an, das der Compiler ermittelt, wie groß das zu übergebende Array ist und dann entsprechend den empfangenden Array den Platz zuweist.
Das hier funktioniert nämlich:
Delphi-Quellcode:
var
Data1 : TMyData;
Data2 : TMyData;
begin;
// ... Anweisungen -> Data1.Int und Data1.Real mit Werten gefüllt
Data2 := Data1; // Funktioniert auch ohne SetLength für Data2
end;