Also erst einmal:
Sizeof(PChar) = Sizeof(PAnsiChar) = Sizeof(Pointer) = 4 (außer unter Delphi 1 und eventuell später mal Delphi 64bit)
Sizeof(Char) = Sizeof(WideChar) = 2 (unter D2009)
Sizeof(AnsiChar) = 1
Was den Code betrifft, würde ich mal dies versuchen:
Delphi-Quellcode:
cds.lpData := @text[1]; // Pointer auf das erste Zeichen im Text
cds.cbData := Length(text) + 1; // das *Sizeof(AnsiChar) kann man aus obigen Gründen weglassen
Die Deklaration des Parameters
text als AnsiString ist dabei unbedingt notwendig! Eventuell empfiehlt es sich ein
const davor zu setzen.
Und was das
versuchen betrifft: In der Theorie sind Theorie und Praxis identisch, in der Praxis leider nicht.