Witam,
od pewnego czasu męczę się z odczytem recordu wysłanego przez clienta (napisanym w WinSock), do serwera. Record wygląda tak:
type
TMsgType = (WelcomeMsg, LogonMsg, CommandMsg, ReturnMsg);
type
TMessageRec = record
_MsgType:TMsgType;
_Msg:array of String;
_LengthMsg:Byte;
end;
Serwer odczytuje record tak:
var
Buff:TMessageRec;
[...]
recv(Sock, Buff, SizeOf(TMessageRec), 0);
Parametry _LengthMsg, _MsgType są takie jak wysłał klient (u serwera).
Gdy próbuje odwołac się do tablicy dostaję accessa. Np.
if (Buff._Msg[0]='blabla') then
[...]
Sam record w kliencie wysyłam tym sposobem:
var
MsgSend:TMessageRec;
begin
MsgSend._MsgType:=LogonMsg;
SetLength(MsgSend._Msg,3);
MsgSend._LengthMsg:=3;
MsgSend._Msg[0]:='1';
MsgSend._Msg[1]:='2';
MsgSend._Msg[2]:='3';
send(Sock, MsgSend, SizeOf(TMessageRec), 0);
No i mam nadzieję, że co potrzebne napisałem.. Proszę o pomoc w odwoływaniu się do tablicy odebranego recordu..