Die Delphi-Strings sind schon nullterminiert.. das einzige was sie von den PChars unterscheidet sind die 8 Bytes (Länge und Referenzzähler) vor der eigentlichen Zeichenkette, wobei der Pointer, der den String referenziert auf das erste Zeichen der Zeichenkette zeigt (die 8 Bytes liegen also eigentlich hinter der eigentlichen Adresse des Strings), und die Spezialbehandlungen die Delphi intern ausführt. Ein PChar ist ein Pointer auf ein Char, daher ist auch naheliegend, dass @String[1] als PChar angesehen werden kann, schließlich stellt der Ausdruck einen Pointer auf das erste Zeichen der Zeichenkette an..
Aber eine ähnliche Diskussion hat es schon einmal gegeben:
http://www.delphipraxis.net/viewtopi...t=uniquestring