Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

AW: String via Sendmessage unvollständig

  Alt 8. Okt 2015, 07:54
Ernsthaft? So viele Antworten und noch keiner konnte eine richtige und klare Antwort auf das hier zustande bringen?

Das Problem ist, dass in XE6 (genauer: Ab Delphi 2009) die Chars in deinen Strings 2 Byte groß sind und DataStruct.cbData die Anzahl der zu sendenden Bytes möchte und nicht die Anzahl der Zeichen.
Von daher:
DataStruct.cbData := Length(Edit1.Text)*SizeOf(Char);
Darum werden deine Strings auch ziemlich genau ab der Hälfte abgeschnitten.

Probiert mal statt
Code:
  DataStruct.cbData := length(Edit1.Text)+1;
Code:
  DataStruct.cbData := SizeOf(Edit1.Text)+1;
SizeOf(Edit1.Text) gibt immer SizeOf(String) = SizeOf(Pointer) zurück. Also 4 in 32-Bit und 8 in 64-Bit Anwendungen.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General ( 8. Okt 2015 um 07:59 Uhr)
  Mit Zitat antworten Zitat