그걸 빼먹었다는 걸 이렇게 간단히 찾아주시다니....^^
감사합니다.^^
kylix 님이 쓰신 글 :
: MemoryStream.Position := 0;
: MemoryStream.Read(MyREC, SizeOf(MyREC));
:
: 첫눈 님이 쓰신 글 :
: : TMyREC = Record
: : Val1 : int64;
: : Val2 : int64;
: : Val3 : integer;
: : End;
: :
: :
: : 이렇게 선언되어 있구요.
: :
: :
: :
: : 서버에서는
: :
: : procedure TFormServer.IdTCPServer1Execute(AContext: TIdContext);
: : VAR
: : MYREC : TMYREC ;
: : MemoryStream : TMemoryStream;
: : .....
: : .....
: : Begin
: : .....
: : .....
: : MemoryStream := TMemoryStream.Create;
: : MemoryStream.Write(MyREC, SizeOf(MyREC));
: : MemoryStream.Position := 0;
: : AContext.Connection.IOHandler.Write(MemoryStream, MemoryStream.Size, True);
: : MemoryStream.Free;
: : MemoryStream := Nil;
: : ....
: : ....
: : End;
: :
: :
: :
: : 클라이언트에서는
: :
: : Var
: : IdTCPClient : TIdTCPClient;
: : MemoryStream : TMemoryStream;
: : MyREC : TMyREC,;
: : Begin
: : IdTCPClient := TIdTCPClient.Create(nil);
: : .....
: : .....
: : MemoryStream := TMemoryStream.Create;
: : IdTCPClient.IOHandler.ReadStream(MemoryStream, -1, False);
: : MemoryStream.Read(MyREC, SizeOf(MyREC));
: : MemoryStream.Free;
: : MemoryStream := Nil;
: : ....
: : ....
: : IdTCPClient.Free;
: : IdTCPClient := nil;
: : End
: :
: : 이렇게 처리했습니다.
: :
: : 하지만 MyREC에는 전부 0만 들어가 있습니다.
: :
: : 어떻게 해야 할지 모르겠습니다.
: :
: :
: :
: :
: : 그리고 한가지 질문 더 드립니다.
: : AContext.Connection.IOHandler.Write(MemoryStream, MemoryStream.Size, True);
: : 와
: : IdTCPClient.IOHandler.ReadStream(MemoryStream, -1, False);
: : 의 마지막 옵션에 Boolean형 데이터의 의미가 뭔지 설명 부탁드립니다.
: :
|