![]() |
Re: Probleme mit Delphi2009 und Windows XP Embedded
Zitat:
|
Re: Probleme mit Delphi2009 und Windows XP Embedded
So, habe das Problem nun ein bißchen "eingegrenzt". Nach dem Einbau einiger Debugausgaben habe ich fesgestellt dass die Applikation aus dem Funktionsaufruf
Delphi-Quellcode:
nicht mehr "zurückkommt".
UDPC.Send(msg_temp);
Hier die Eigenschaften meines TIdUDPClient: BufferSize: 64000 IPVersion: Id_IPv4 ReceiveTimeout: 5000 ... |
Re: Probleme mit Delphi2009 und Windows XP Embedded
|
Re: Probleme mit Delphi2009 und Windows XP Embedded
Zitat:
|
Re: Probleme mit Delphi2009 und Windows XP Embedded
Habe gerade feststellen können, dass mein Server gar keine Anfrage bekommt. (Bin zuerst davon ausgegangen, dass eine "verschandelte" Anfrage gekommen ist)
edit: ![]() Habe nach Durchsicht dieses Artikels mein UDPC.Receive gegen ein UDPC.ReceiveBuffer ausgetauscht und nun kommt meine Anfrage an. Jetzt habe ich aber ein neues Problem: Der Server schickt zwar eine Antwort weg, diese kommt jedoch bei mir nicht an, obwohl ich
Code:
gegen
aw:=UDPC.ReceiveString()
Code:
getauscht habe. Hat jemand eine Ahnung, was mich hier noch weiterbringen könnte?
aw:TBytes;
... UDPC.ReceiveBuffer(aw,UDPC.Buffersize); |
Re: Probleme mit Delphi2009 und Windows XP Embedded
In der Hilfe für die Funktion ReceiveBuffer wird als erster Parameter
Code:
angegeben. Was bedeutet das @ ? Erwartet sich die Funktion einen Pointer?
Byte[]@
edit: Habe gerade herausgefunden, dass die Funktion ReceiveBuffer eine Exception wirft: ERangeError ("Fehler bei Bereichsprüfung") |
Re: UDP-Probleme bei Delphi2009 und Windows XP Embedded
Endlich! Problem gelöst. Mit:
Code:
funktionierts nun endlich. Schlussendlich bleibt nur die Frage, warum meine Ursprungsversion mit
Buffer : TIdBytes;
... SetLength(Buffer, UDPC.BufferSize); UDPC.ReceiveBuffer(Buffer);
Code:
und
UDPC.Send(msg_temp);
Code:
mit Delphi 2007 und Delphi 2009 compiliert auf Windows XP Standard funktioniert und auf dem Embedded-System mit Delphi 2009 nicht. Aber ich bin froh, das Problem nun gelöst zu haben. Hoffentlich treten nicht neue sonderliche Phänomene auf.
aw:=UDPC.ReceiveString();
Edit: Zu früh gefreut. mit den "neuen" Funktionen SendBuffer und ReceiveBuffer, wo es zuerst auch lokal nicht funktioniert hat (XP Standard) hat es durch die oben beschriebenen Anpassungen dann einwandfrei hingehaut. Auf dem Embedded-XP-System funktioniert es aber noch immer nicht!? Schön langsam werd ich ratlos. |
Re: UDP-Probleme bei Delphi2009 und Windows XP Embedded
So, ich fasse mal kurz zusammen, weil ich zugegebener Maßen jeden kleinen "Fortschritt" hier reingetippt habe:
UDP-Kommunikation mittels:
Code:
Delphi 2007 + Windows XP: OK
UDPC.Send
UDPC.ReceiveString Delphi 2007 + Windows XP Embedded: OK Delphi 2009 + Windows XP: OK Delphi 2009 + Windows XP Embedded: KEINE ANFRAGE BEIM SERVER UDP-Kommunikation mittels:
Code:
Delphi 2007 + Windows XP: OK
UDPC.SendBuffer
UDPC.ReceiveBuffer Delphi 2007 + Windows XP Embedded: OK Delphi 2009 + Windows XP: OK Delphi 2009 + Windows XP Embedded: ANFRAGE BEI SERVER OK, ABER KEINE ANTWORT Im letzten Fall wirft die Funktion UDPC.ReceiveBuffer die Exception EEncodingError ("ungültige Codeseite"). Was kann das bedeuten? |
Re: UDP-Probleme bei Delphi2009 und Windows XP Embedded
würde sagen, da hat dein unicodestring die falsche codepage ... :roll:
wirst wohl mal nach einer fehlerbereinigden indy gucken müssen oder schaun ob du den fehler bei den indys selbst ausbügeln kannst... :roll: :roll: |
Re: UDP-Probleme bei Delphi2009 und Windows XP Embedded
Zitat:
Code:
int mmi_sendto(SOCKET s, const void *msg, size_t len, int flags, const struct sockaddr *to)
{ return (sendto(s, (char*)msg, (int)len, flags, to, sizeof(sockaddr_in))); } |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz