Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   TTcpClient.SendBuf von dynamischen Arrays geht nicht: Solved (https://www.delphipraxis.net/168249-ttcpclient-sendbuf-von-dynamischen-arrays-geht-nicht-solved.html)

Nic2012 11. Mai 2012 07:07


TTcpClient.SendBuf von dynamischen Arrays geht nicht: Solved
 
Wenn ich ein statisches Array via
Code:
var
myArray: array [0..11] of byte;
begin
myArray[0]:=...
TTcpClient.SendBuf( myArray, length(myArray));
versende, bekommt der Server das Packet.

Verwende ich allerdings ein dynamsches Array, dass per
Code:
var
myArray: array of byte;
begin
SetLength(myArray,12);
auf die gleiche Größe dimensioniert wird
Code:
myArray[0] := ...
TTcpClient.SendBuf( myArray[0], length(myArray));
wird nichts versendet.
Woran liegt es ?

DeddyH 11. Mai 2012 07:13

AW: TTcpClient.SendBuf von dynamischen Arrays geht nicht
 
Nur ein Gedanke: klappt es mit
Delphi-Quellcode:
TTcpClient.SendBuf( myArray[0], length(myArray));
:?:

Nic2012 11. Mai 2012 07:16

AW: TTcpClient.SendBuf von dynamischen Arrays geht nicht
 
Hab es gerade ausprobiert, leider nein.

Nic2012 11. Mai 2012 07:47

AW: TTcpClient.SendBuf von dynamischen Arrays geht nicht
 
Habe es gelöst, so geht es prima:
socket.SendBuf(myArray[0],length(myArray)*sizeof(byte));

daywalker9 11. Mai 2012 07:50

AW: TTcpClient.SendBuf von dynamischen Arrays geht nicht
 
Das kann man auch anders machen:

Delphi-Quellcode:
socket.SendBuf(myArray[0],length(myArray)*sizeof(myArray[0]));
So musst Du, falls Du den Typen des Arrays von Byte auf zB Integer änderst, nicht jede Stelle suchen, wo Du *SizeOf(Byte) geschrieben hast

Nic2012 11. Mai 2012 07:54

AW: TTcpClient.SendBuf von dynamischen Arrays geht nicht: Solved
 
Ja das ist noch besser, danke !


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:07 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