Ganz einfach.
Windows verwendet PChar.
PChar ist ein Pointer(Adresse) zum Anfang des Textes, aber nicht wo er aufhört.
Jedoch kannst du mit einem #0 am Ende des Textes, bevor du ihn an die
API übergibst, sagen dort hört der Text auf.
Delphi-Strings können solche #0 (Nullterminiert) Zeichen anzeigen, bzw. speichern, PChar kann dies nicht, wenn er ein #0 erkennt, beendet er den Text.
Also in etwa so:
Delphi-Quellcode:
var S : String;
begin
S := 'Hallo' + #0; //Diesen String als PChar gecastet übergeben.
end;
Das Gleiche gilt für AnsiStrings, jedoch vorsicht. Caste nicht einen String(
Unicode) zu PAnsiChar.
Das würde auch komishce Zeichen ergeben. Oder umgekehrt.
P.S. : Verdammt war jemand schneller