stimmt schon...warum probierst du's nicht einfach
vielleicht mal grob als Erklärung, was du vorher gemacht hast:
TMemo ist eine Klasse, comment war eine Instanzvariable, welche nach dem zuweisen nur einen Pointer auf die zugewiesene instanz enthielt (32bit-integer). du greifst also mit memo_comments und mit comments auf das gleiche (nur einmal existierende) Objekt zu. wenn da die Eigeneschaft text leer ist, bekommst du über beide Variablen einen Leerstring zurück. sämtliche Klassen funktionieren nach diesem Prinzip. vielleicht solltest du dir mal ein Anfängertutorial anschauen, was sich mit Klassen,Objekten, Pointern etc beschäftigt....
beim typ String ist dagegen ein bisschen sog. Compiler-Magic im Spiel. Grundlegend liegt auch nur Pointer in der variable (man hat ja in einem Register im Normalfall nur 32 bit zur Verfügung), ABER: bei der zuweisung wird nicht der pointer geändert sondern der referenzierte speicherbereich an die länge des Strings angepasst (und ein 32-bit-integer davor angepasst).Bei PChar ist es ähnlich, nur dass da der Integer zur Längenkennzeichnung fehlt, dafür geht der string bis zum ersten vorkommen eines 0-bytes.
Gruß Frank