Der String wird von Delphi intern als eine Art Pointer behandelt, sprich: Der Text als solches liegt irgendwo im
RAM, und die Variable "weiss" lediglich, wo. Solange nun dieser Pointer an die selbe Instanz des Programms versandt wird, ist die entsprechende Stelle im
RAM weiterhin gültig, in einer anderen Instanz (geschweige denn auf einem anderen PC) jedoch nimmer....
Am einfachsten verwendest du ein ShortString: hier enthält die Variable auch gerade die Daten, ist allerdings auf 255 Zeichen limitiert.
Oder aber du definierst ein entsprechendes Protokol, bei dem beispielsweise zuerst ein Word mit der Anzahl der nachfolgenden Zeichen übertragen wird, und anschliessend die Zeichen selber. Um bei einem String auf die "Daten" zuzugreifen, verwende: StringVar[1], oder als Pointer: @StringVar[1]