title: Copy on write for array of records
body: <p>Does copy on write semantics applies for dynamic arrays of records?</p>
  
  <p>How to properly duplicate an array of record?</p>
  
  <p>Is this enough?:</p>
  
  <pre><code>type
    recordA = Record
      Y:integer;
    end;
  var x: array of recordA;
      b: array of recordA;
      item: recordA;
  begin
    SetLength(x, 2);
    item.Y:= 2;
    x[0] := item;
    item.Y:= 5;
    x[1] := item;
    //Copying
    b:= x;
  </code></pre>
  
  <p>After the copy is complete, I'll need to reset the first array:</p>
  
  <pre><code>SetLength(x, 0);
  </code></pre>
  
  <p>May I do it this way?          </p>