приведение типов к динамическому массиву - PullRequest
4 голосов
/ 12 апреля 2011

Учитывая следующее:

Type
  TSomeTypeArray = array of SomeType;

var
  anArray: array of SomeType;

function GetSomeTypeArray: TSomeTypeArray; 

Я хочу написать anArray = GetSomeTypeArray();, но компилятору это не нравится.Не изменяя тип anArray или тип возвращаемого значения GetSomeTypeArray, как я могу набрать TSomeTypeArray на array of SomeType?

Ответы [ 2 ]

6 голосов
/ 24 апреля 2011

Вы можете указать левую часть задания:

TSomeTypeArray(anArray) := GetSomeTypeArray();
3 голосов
/ 12 апреля 2011

Вы не можете.Вам нужно объявить anArray для типа TSomeTypeArray, тогда оно должно работать.

В качестве альтернативы, вы можете сохранить результат в другом массиве типа TSomeTypeArray, затем вызвать SetLength для anArray длядлина возвращаемого массива.И, наконец, перебираем два массива, устанавливая элементы anArray для элементов возвращаемого массива.

...