Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IdUDPServerUDPRead Delphi 2007 (https://www.delphipraxis.net/131335-idudpserverudpread-delphi-2007-a.html)

aegidos 23. Mär 2009 13:39


IdUDPServerUDPRead Delphi 2007
 
Hallo, Ich habe eine Frage zu Indy.
Hier im speziellen versuche ich folgenden Code zum laufen zu bringen:

Code:
procedure TTestExecuter.IdUDPServerUDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
var
  msg : string;
begin


try
  if (AData.Size > 0) then
  begin
In Delphi IDE 7 hat das wunderbar funktioniert. Nun nutze ich seit kurzem Delphi 2007 und Indy 9 und nun knallts.
Jedesmal wenn die Funktion aufgerufen wird (durch UDPSoketDataAvailable) stürtzt meine Applikation ab.
Fehlermeldung:
Code:
Erste Gelegenheit für Exception bei $7C812A5B. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 004F8469 in Modul 'Project1.exe'. Lesen von Adresse 39377C37'. Prozess Project1.exe (5648)
Aber warum kommt das überhaupt? Ich habe auch AData auf nil überprüft das ging auch nicht. Gleiche Fehlermeldung.
Langsam bin ich mit meinem Latein am Ende. Hat jemand schon ähnliche Erfahrung mit Sockets gemacht?

Danke schonmal für die Hilfe
Schöne Grüße
Andi

DasZiesel 23. Mär 2009 14:43

Re: IdUDPServerUDPRead Delphi 2007
 
Da du Delphi 2009 benutzt musst du dort bedenken das Strings/PChars/Char in Unicode Format sind also 2 Bytes pro Wert.
Versuche es doch einmal mit AnsiString.

Bernhard Geyer 23. Mär 2009 14:45

Re: IdUDPServerUDPRead Delphi 2007
 
Zitat:

Zitat von DasZiesel
Da du Delphi 2009 benutzt musst du dort bedenken das Strings/PChars/Char in Unicode Format sind also 2 Bytes pro Wert.
Versuche es doch einmal mit AnsiString.

Zitat:

Zitat von aegidos
... Nun nutze ich seit kurzem Delphi 2007 und Indy 9 und nun knallts.

:gruebel:

DasZiesel 23. Mär 2009 14:51

Re: IdUDPServerUDPRead Delphi 2007
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von DasZiesel
Da du Delphi 2009 benutzt musst du dort bedenken das Strings/PChars/Char in Unicode Format sind also 2 Bytes pro Wert.
Versuche es doch einmal mit AnsiString.

Zitat:

Zitat von aegidos
... Nun nutze ich seit kurzem Delphi 2007 und Indy 9 und nun knallts.

:gruebel:

Ei. Das passiert wenn man Multitasking versucht. Nehme meine Antwort zurück.

aegidos 24. Mär 2009 06:57

Re: IdUDPServerUDPRead Delphi 2007
 
Danke trotzdem für den Versuch :wink:

Ich suche akribisch weiter nach dem Fehler aber compilieren lässt sich auch alles einwandfrei.

Wenn ich den Debugger laufen lasse dann kommt immer oben genannte Fehlermeldung.

Wenn ich die compilierte Exe dann einfach mal ohne debugger laufen lasse, sie also manuell starte dann stützt die Applikation zwar nicht ab, es kommen jedoch auch keine UDP Telegramme ab :cry:

Bitte um Hilfe :?:
Schöne Grüße
Andi


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:08 Uhr.

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