Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#7

AW: Unicodestring für SendMessage verpacken?

  Alt 13. Aug 2012, 12:26
Kodier den String als UTF-8 und fertig.

Somit kann sich jeder das von/nach Unicode oder ANSI umkodieren, wie er lustig ist ... solange es bei der Übertragung als UTF-8 definiert ist.

(natürlich bleibt dann weiterhin das Problem, daß beim Umwandeln von UTF-8 nach ANSI Informationen verloren gehen könnten, aber das würde ja auch passieren, wenn du von Unicode nach ANSI umwandeln läßt.)


Oder du überträgst es immer als Unicode (WideString), was am Ende auf's Selbe hinausläuft.


Man überträgt/speichert eben keine dynamischen Daten.
Jedenfalls nicht, ohne das Format auch noch mit zu übertragen, damit der Empfänger weiß wie er das zu interpretieren hat.


Zitat:
Delphi-Quellcode:
procedure TformSender.SendString(const stringToSend: string; const ReceiverHandle: HWND);
...
  copyDataStruct.lpData := PWideChar(stringToSend);
Aber das war schonmal total falsch. *dir auf die Pfoten hau*

String, bzw. Char ist nicht immer PWideChar, bzw. 2.

String > Char > PChar > SizeOf(Char)
WideString > WideChar > PWideChar > 2=SizeOf(WideChar)
AnsiString > AnsiChar > PAnsiChar > 1=SizeOf(AnsiChar)
aber niemals vermischt
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (13. Aug 2012 um 12:30 Uhr)
  Mit Zitat antworten Zitat