Ist das 0-setzten eine dokumentierte Eigenschaft? Oder könnte das in zukünftigen Delphi-Versionen auch mal anders gelöst sein?
Dokumentiert? ja!
Zitat von
http://docwiki.embarcadero.com/Libraries/XE7/de/System.SetLength:
Bei einer dynamischen Array-Variable weist SetLength dem in S referenzierten Array die angegebene Länge zu. Die vorhandenen Elemente des Arrays werden beibehalten, und der neu zugewiesene Platz wird auf 0 oder nil gesetzt. Bei multidimensionalen dynamischen Arrays kann SetLength mehrere Parameter für die Länge übernehmen. Die Parameteranzahl wird lediglich durch die Zahl der Array-Dimensionen beschränkt. Jeder Parameter gibt die Anzahl der Elemente für eine bestimmte Dimension an.