title: Move() to Insert/Delete item(s) from a dynamic array of string
body: <p>Using System.Move() to insert/delete item(s) from an array of string is not as easy as insert/delete it from other array of simple data types. The problem is ... string is reference counted in Delphi. Using Move() on reference-counted data types needs deeper knowledge on internal compiler behaviour.</p>
  
  <p>Can someone here explain the needed steps for me to achieve that, or better with some snippet codes, or direct me to a good reference on the internet?</p>
  
  <p>Oh, Please don't tell me to use the "lazy-but-slow way", that is, for loop, I know that.</p>