Ein String ist in D8 auch ein Object (irgendwo im System. - Namespace).
Aus diesem Grund geht das. Du hast also in aAr[0] nun ein Objekt vom Typ String.
Das ist - wenn man Java kennt - nichts neues. Problematisch wird nun nur die Überprüfung:
Delphi-Quellcode:
aAr[0]:='
<html>Das ist ein [b]Test[/b]</html>';
aAr[1]:='
<html>Das ist ein [b]Test[/b]</html>';
if aAr[0] = aAr[1]
then
ShowMessage('
Diese Meldung wird nie kommen,')
else
ShowMessage('
denn die Strings wind zwar gleich, aber es ist nicht das gleiche Objekt!');
Daher musst Du bei solchen Sachen, die auf TObject gecastet werden erst eine Konvertierung in einen String machen. Verwendest Du direkt den String, so sind dort die Typumwandlungen beim Vergleich bereits implementiert.