Given the following:
Type
TSomeTypeArray = array of SomeType;
var
anArray: array of SomeType;
function GetSomeTypeArray: TSomeTypeArray;
I want to write anArray = GetSomeTypeArray();
but the compiler does not like it.
Without changing the type of anArray
or the return type of GetSomeTypeArray
how can I typecast T开发者_如何学运维SomeTypeArray
to array of SomeType
?
You could typecast the left hand side of the assignment:
TSomeTypeArray(anArray) := GetSomeTypeArray();
You can't. You need to declare anArray
as of type TSomeTypeArray
, then it should work.
Alternatively, you could store the result into another array of type TSomeTypeArray
then call SetLength
on anArray
to the length of the returned array. And finally loop through the two arrays setting the elements of anArray
to the elements of the returned array.
精彩评论