ServerSocket

DarkItachiPL

Użytkownik
Dołączył
Sierpień 16, 2007
Posty
58
Hej!
Mam problem z odbieraniem pakietów przez serwer. Używam SocketServer. Gdy próbuję zgrać buffer do mojego typu danych podczas odczytywania pakietu komendą:
Kod:
socket.ReceiveBuf(MojTypDanych,socket.ReceiveLength);
To wszystko działa, lecz jeśli chcę najpierw zgrać buffer do zmiennej integer, a następnie wgrać do tych danych to wyskakuje mi błąd o zgodności
Kod:
[Error] Unit1.pas(112): Incompatible types: 'Integer' and 'PData_Login'
Z góry dziękuję za pomoc. O to struktura:
Kod:
  PData_Login = ^TData_Login;
  TData_Login = packed record
    Header: THeader;
    Login: Int;
    Haslo: Int;
    wersja: Int;
    ZeroChar: Char;
    ClientIP: Int;
  end;
 

thc_flow

Zbanowany
Dołączył
Listopad 13, 2008
Posty
649
Nie rzutujesz (konwertujesz typu) danych podczas odbierania, skoro otrzymujesz wynik w PDataLogin, to nie jest on Integerem, rzutuj typy!
 

DarkItachiPL

Użytkownik
Dołączył
Sierpień 16, 2007
Posty
58
Jak rzutuję tak:
Kod:
Data_Login:=PData_Login(buffer);
To otrzymuję:
Kod:
[Error] Unit1.pas(112): Incompatible types: 'TData_Login' and 'PData_Login'

A jeśli rzutuję tak:
Kod:
Data_Login:=TData_Login(buffer);
To otrzymuję:
Kod:
[Error] Unit1.pas(112): Invalid typecast

Z góry dziękuję za pomoc..
 
Do góry Bottom