Sorry for the late reply.
Thank you taazz and Leledumbo, the static array fixed my issue. My code look like this now:
type
{ data }
TData = record
User: array[0..24] of Char;
Message: array[0..255] of Char;
Time: TDateTime;
end;
....
procedure TForm1.MCWriteKeyPress(Sender: TObject; var Key: char);
var
CDATA:TData;
begin
if Key = #13 then
Begin
fillchar(CData.User,25,#0);
fillchar(CData.Message,256,#0);
CData.User:=ECName.Text;
CData.Time:=Now;
CData.Message:=MCWrite.Text;
Key:= #0;
MCWrite.Clear;
LTCPCClient.Send(CData,SizeOf(CData));
end;
end;
...
procedure TForm1.LTCPCServerReceive(aSocket: TLSocket);
var
S:TData;
begin
fillchar(S.User,25,#0);
fillchar(S.Message,256,#0);
S.Time:=Now;
aSocket.Get(S,SizeOf(S))
MSRead.Lines.Add(DateToStr(s.Time)+' - '+'('+S.User+') '+S.Message);
end;