Ich möchte einen client und einen Server schreiben , die beide ein gleich großes dyn. Array haben.
Nach dem das Passiert ist, soll der server den Inhalt seines dyn. array an den client verschicken.
Delphi-Quellcode:
////////////////////////client///////////////////////////////////
type
Datenpack2 = Record
Chatchannels : Array of String[20];
index2:integer;
end;
...
var rec:datenpack2
clientsocket2.Socket.ReceiveBuf(rec,sizeof(rec));
setlength(rec.Chatchannels,rec.index2);
clientsocket2.Socket.ReceiveBuf(rec,sizeof(rec));
for i:=0 to high(rec.Chatchannels)-1 do
memo1.lines.Add(rec.Chatchannels[i]);
//////////server/////////////////////////
rec:datenpack2;
socket.ReceiveBuf(rec,sizeof(rec));
rec.index2:=anZchat;// ist größe des arrays was beide haben sollen
for i := 0 to initServer.Socket.ActiveConnections-1 do
initserver.Socket.Connections[i].SendBuf(rec,sizeof(rec));
setlength(rec.Chatchannels,anZchat);/// setzt sein array auf die gleiche größe
log.Lines.add('Eingehende Verbindung');
for j:= 0 to high(rec.Chatchannels)-1 do
rec.Chatchannels[j]:=Chatliste[j];/////übergibt seinen Inhalt an das dynarray
for k := 0 to initserver.Socket.activeConnections-1 do // verschickt es nun wieder erneut
initserver.Socket.Connections[k].SendBuf(rec,sizeof(rec));
Das Programm stürzt dabei immer ab , und wir wissen nicht warum.
Da ich und meine Gruppe blutige Anfänger auf diesem Gebiet sind , hoffen wir hier Hilfe zu finden
Danke im Voraus
mfg SIn
[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]