Registriert seit: 13. Aug 2002
17.201 Beiträge
Delphi 10.4 Sydney
|
Re: D2009 ein Ratespiel mit UNICODE ?
26. Mai 2009, 13:42
1, Nimm in der Funktion ein eigenes PChar welches du per StrAlloc anforderst. Damit umgehst du evtl. Probleme mit automatischer Referenzzählung oder das der Empfänger der Nachricht irgendeinen Mist mit den Daten vornimmt bevor die Daten kopiert werden.
2, Die Längenberechnung deines Buffers ist für Wide/Unicodestrings falsch! 1 Char = 2 Byte..
cds.cbData := (lstrlen(cds.lpData)+1) * SizeOf(PChar);
3, Wenn andere Programmiersprachen ins Spiel kommen nimmer immer Widestrings (PWideChar). Für .NET/Java ist z.B. ein Widestring der "natürliche" Stringtyp (AFAIK UTF16).
Windows Vista - Eine neue Erfahrung in Fehlern.
|