Ist zwar schon ne weile her seit ich Delphi programmiert hab aber das:
Code:
Result := WriteFile(FHandle, Pointer(Msg)^, dwSize, dwBW, nil);
wird so auch nicht wirklich funktionieren, wenn ich das noch richtig im Kopf hab.
Damit interpretierst du nur die ersten 32 Bit des Strings als Adresse, aber der der Inhalt stehen soll.
Die Variante von jaenicke wär die einfachste, die auch wirklich funktioniert.