Странный перевод Влад.. - на мой английский это звучит так:
если параметр передаваемый по значению структурирован (массив или имеет тип -запись), запрещаются присваивания ему или его элементам. То же относится к присваиваниям сделанным импортированным переменным...
Ну да. Т.е. для вот этих случаев все явно прописано:
array := array2; (* запрещено *)
record := record2; (* запрещено *)
array[0] := array2[0]; (* запрещено *)
record.field := record2.field; (* запрещено, если принять, что поле это "элемент" рекорда, хотя тоже желательно уточнить *)
Все. Для всех остальных случаев - не прописано. Можно только угадывать. "Из общих соображений" (кусок памяти под массив/рекорд только для чтения) можно предположить, что такое тоже запрещено:
array[0].field := array2[0].field;
record.record.field := record2.record.field;
Далее, исходя из того же принципа (кусок памяти под массив/рекорд только для чтения) вот такое должно быть разрешено:
array[0].pointer.field := array2[0].pointer.field;
record.pointer.field := record2.pointer.field;
Но это все предположения, которые неплохо было бы отразить непосредственно в репорте.