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
[13970] Re:TBytes타입에 대해 문의드립니다.
권익수 [freepascal] 3211 읽음    2011-12-05 17:13
TBytes 초기화는 그냥 nil 지정하면 됩니다.
ex) l_tmp := nil;
길이 지정은 SetLength를 이용하시면 되고요.

IdGlobal.pas 에 보면 TBytes와 동일한 형태의 TIdBytes가 선언되어있는데, IdGlobal에 TIdBytes 관련 함수들이 많이 있습니다.
참고하시면 개발하는데 도움이 많이 될 겁니다.

김수정 님이 쓰신 글 :
: TUDP소켓을 통해 다수의 피시에 파일을 전송하려 하는데
: 여러가지 문제로 고생하다 civilian님의 덕분에 어느정도 해결이 되었습니다.
: civilian님 다시 한 번 감사드립니다.
:
: 이번엔 TBytes타입 때문에 고생하고 있는데요.
:
: TUDP소켓으로는 대용량파일을 한번에 전송할 수 없어
: 파일을 MemoryStream에 담아 8192바이트씩 나누어 전송합니다.
:
: Indy10을 사용하고 있어 IdUDPClient1.SendBuffer(AData) 이렇게 데이터를 전송할때
: AData가 TBytes타입입니다.
:
: 그런데 8192바이트씩 나누어 전송하다가 파일의 끝부분이 되면
: 나머지부분이 8192바이트가 되지 않기 때문에 나머지 부분만 전송해야 하는데요.
:
: 문제는 TBytes타입은 용량이 모자라면 자동으로 늘려주지만
: 용량이 작아지는 경우에는 자동으로 줄여주지 않기 때문에
: 파일의 끝부분을 저장하고 남는 부분에는
: 이전에 담아 두었던 값들이 그대로 남아 전송이 됩니다.
:
: 그래서 TBytes에 담겨진 데이터를 전송하고 나면 TBytes의 길이를 초기화 해야 할것 같은데
: 초기화할 방법을 찾지 못하고 있습니다.
:
: TBytes를 사용하고 난 다음 TBytes의 길이를 0으로 만들 수 있는 방법이 있으면 알려주시면 감사하겠습니다.

+ -

관련 글 리스트
13968 TBytes타입에 대해 문의드립니다. 김수정 1987 2011/12/05
13970     Re:TBytes타입에 대해 문의드립니다. 권익수 3211 2011/12/05
13971         Re:Re:권익수님 감사합니다. 김수정 2120 2011/12/05
13969     Re:TBytes타입에 대해 문의드립니다. civilian 1878 2011/12/05
13972         Re:Re:civilian님 감사합니다. 김수정 1946 2011/12/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.