Zitat von
Gerrit89:
//Edit: Aha mir ist ein Licht aufgegangen
Scheint daran zu liegen, dass ein PAnsiChar nur 8 Bytes (Bits?) oder so hat (grobe Vermutung
)
Wenn s: Array [0..255] of Char; dann klappt alles!
Ein Pointer auf 32bit-Systemen hat 4 Bytes
... aber ist auch egal, mach ein SetLength() für den String zwischen das erste SendMessage() und das 2te.
So:
Delphi-Quellcode:
Len := SendMessage(hWndEdit, WM_GETTEXTLENGTH, 0, 0);
SetLength(s, Len+1);
SendMessage(hWndEdit, WM_GETTEXT, Len, Integer(@s[1]));
// ...
SendMessage(hWnd, WM_SETTEXT, Len, Integer(@s[1]));