IMO hat das ausnamhsweise nix mit Sharemem zu tun. Nur bei fremden DLLs zieht die Compilermagic von Delphi (die ein Mischen von PChar und String zuläßt) nicht. Deshalb StrCopy() welches ja bekanntlich nix weiter ist als ein CopyMemory()
... es hat also nicht das Geringste mit dem Delphitypen String zu tun!!!