Wertzuweisungen müssen im konkrten Fall an die Array-Elemente gemacht werden und nicht an das Array an sich. Die Elemente sind aber strings. Und ein Array ist eben ein Array.
Delphi-Quellcode:
// das geht beides :
info.Name [1] := 'Desktop';
info.Name [120] := s;
// so was aber nicht mehr :
info.Name [121] := 'Desktop';
P.S.: die Elemente sind ja gar keine Strings, sondern nur Char.
Tja ein String ist eine art Array of char.