Delphi-PRAXiS
Seite 6 von 6   « Erste     456   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Unicode probleme (https://www.delphipraxis.net/119015-unicode-probleme.html)

day 20. Aug 2008 14:38

Re: Unicode probleme
 
Danke, jetzt habe ich das symbol auch in dieser codepage gefunden. Wie kann ich dem Betriebssystem sagen, dass er die codepage 950 nehmen soll?

molotov13 29. Sep 2008 09:36

Re: Unicode probleme
 
Ich habe zwar schon einen anderen Thread dafür benutzt,

Delphi für Win32
UDP-Probleme bei Delphi2009 und Windows XP Embedded


jedoch scheint mir dieser Beitrag geeigneter für mein Problem.

Seit meiner Umstellung von Delphi 2007 auf Delphi 2009 habe ich das Problem dass die UDP-Kommunikation in meinem Programm nicht mehr korrekt funktioniert. D.h. auf meinem lokalen Windows XP Rechner (SP3) funktioniert es einwandfrei. Ich verwende das TIdUDPClient-Objetk für meine Kommunikation.

Wie schon gesagt, vor der Umstellung auf Delphi 2009 funktionierte die Kommunikation mittels Send und ReceiveString überall einwandfrei. Nach Umstellung funktionierte es auf einem Windows XP Embedded System nicht mehr. Nach langem Stöbern in diversen Foren und im Internet stellte ich die Kommunikation dahingehend um, dass ich nun die Funktionen SendBuffer und ReceiveBuffer verwende. Das hat zur Folge, dass das Senden nun auf dem Embedded System auch funktioniert, das Empfangen jedoch noch nicht. Hier erhalte ich die Ausnahme:

EEncodingError - "ungültige Codepage"

Ich glaube, dass das Ganze etwas mit der Unicode-Geschichte zu tun hat. Kann es sein, dass mein Server-System die Antwort in einer "falschen" Form schickt? Was könnte es sonst sein?

Hier ein Auszug aus meinem Source-Code:

...
Delphi-Quellcode:
msg_temp,aw:WideString;
Buffer   : TIdBytes;
begin
  for trycounts:= 1 to 5 do
  begin
    try
      UDPC.SendBuffer(UDPC.Host,UDPC.Port,BytesOf(msg_temp));
      SetLength(Buffer, UDPC.BufferSize);
      UDPC.ReceiveBuffer(Buffer);
      aw := BytesToString(Buffer);
Anmerkung: verwendete Codepage: 850

Das Serversystem, welches die Antworten liefert ist eine in C programmierte Anwendung, die unter Windows Embedded läuft.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 Uhr.
Seite 6 von 6   « Erste     456   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz