Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[15594] Array Of Record를 TidTCPClient로 전송하려 합니다.
첫눈 [hadugo] 1824 읽음    2015-11-27 16:42
아래는 레코드 선언부입니다.
Type
   TMyREC = Record
       A : String;
       B : String;
       C : String;
   End;

  TMyRECArray = array of TMyREC;





다음은 서버측입니다.
procedure TFormServer.IdTCPServer1Execute(AContext: TIdContext);
Var
  MyRECArray : TMyRECArray;
  MemoryStream : TMemoryStream;
Begin
  ...
  ...
  ...

  SetLength(MyRECArray, 3);
  
  MyRECArray[0].A := 'A1';
  MyRECArray[0].B := 'B1';
  MyRECArray[0].C := 'C1';
  
  MyRECArray[1].A := 'A2';
  MyRECArray[1].B := 'B2';
  MyRECArray[1].C := 'C2';
  
  MyRECArray[2].A := 'A3';
  MyRECArray[2].B := 'B3';
  MyRECArray[2].C := 'C3';


  MemoryStream := TMemoryStream.Create;
  MemoryStream.Write(MyRECArray, SizeOf(TMyRECArray) );
   
  AContext.Connection.IOHandler.Write(MemoryStream, 0, True);
  MemoryStream.Free;

  ...
  ...
End;



다음은 클라이언트입니다.
Var
  MemoryStream : TMemoryStream;
  MyRECArray : TMyRECArray;
Begin
  ...
  ...
  ...
  MemoryStream := TMemoryStream.Create;
  IdTCPClient.IOHandler.ReadStream(MemoryStream, 0, True);

  MemoryStream.Position := 0;
  FillChar(MyRECArray, SizeOf(TMyRECArray), 0);
  MemoryStream.Read (MyRECArray, SizeOf(TMyRECArray));
  MemoryStream.Free;
  ....
  ....
End;




이렇게 하면 실행에러는 없는데 클라이언트쪽에서 데이터를 확인해 보면 아무것도 없습니다.
어디가 잘못되었는지 알려주시면 감사하겠습니다.

+ -

관련 글 리스트
15594 Array Of Record를 TidTCPClient로 전송하려 합니다. 첫눈 1824 2015/11/27
15595     Re:소스 수정했는데 다시 봐주시면 감사하겠습니다. 첫눈 1731 2015/11/27
15596         Re:Re: [자답] 죄송합니다. 실수였습니다. 첫눈 1734 2015/11/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.