Zitat von
Patrick:
Delphi-Quellcode:
SetLength(sentvar,1024);
size:=SizeOf(sentvar); //size=4
ein String ist im Prinzip ein Pointer, und ein Pointer ist auf 32-bit-System nun mal 4 Byte gross...
verwende bei Strings zur Längenbestimmung Length()
Zitat von
Patrick:
Clientsocket1.Socket.SendBuf(sentvar,SizeOf(size));
das selbe Problem... du versendest nur die Adresse des Strings... und zwar 4 Byte, da ein Integer (sizeof(integer)) 4 Byte lang ist
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var Socket: TCustomWinSocket;
i,j : integer;
size : integer;
begin
SetLength(sentvar,1024);
size:=Length(sentvar);
if ClientSocket1.active=true then
begin
for i:=1 to 1048576 do
begin
Clientsocket1.Socket.SendBuf(sentvar[1],size);
end;
end;
end;