Move(FArray[i + 1], FArray[i], (Count - 1 - i) * 4); // String = 4 Byte Pointer
Das kannst du SO nicht machen. Strings selbst sind ja Arrays. Und wenn du jetzt anfängst in deinem FArray rumzuschieben, bringst du die ganze Struktur durcheinander. Einfacher ist es einfach zu sagen
FArray[i] := FArray[i + 1]
. Dies hat den Vorteil, dass der Compiler auch weiß, was du machen willst und sich demnach richten kann.
Bernhard