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

C++빌더 Q&A
C++Builder Programming Q&A
[17889] Re:TMemoryStream 질문이요 ㅡ0ㅡ;;
Falco [falco] 931 읽음    2002-04-24 10:16
TCustomWinSocket의 SendStream() 에 보면 DropStream이라고 해서 일이 끝나고 나면 SendStream()의 인자로 넘어온 스트림을 해제 시켜 버립니다.

아마도 이것 때문에 문제가 생기는게 아닌가 생각되네요.

더미 스트림을 생성하셔야 할 듯.  참고하세요.

헬프의 내용입니다.

TCustomWinSocket::SendStream

Note:    The Stream passed as a parameter to SendStream becomes 뱋wned?by the windows socket object.  The Windows socket object frees the stream when it is finished with it.  Do not attempt to free the stream after it has been passed as a parameter.

수야 님이 쓰신 글 :
: 안녕하세요. 수야랍니다. ㅡ0ㅡ
:
: 다름이 아니라 점 황당한 경우를 맞이하게되어서 이렇게 질문을 올립니다. ㅡ0ㅡ
:
: TMemoryStream 문젠데요...
:
: 해더 public 에 선언을 했습니다.
:
: TMemoryStream *MS;
:
: 그리구선 해당폼이생성될때 정의를 해주었져
:
: MS = new TMemoryStream();
:
: 또 사용하고 읽고 쓰고 하는데 아무런 문제 없습니다.
:
: 문제가 있는곳은 TClientSocket 인데요.. 클라이언트 소켓의 SendStream(MS);
:
: 이함수만 갔다가오면 문제가 상당히 많이 생깁니다.
:
: 어쩔때는 자신의 메모리값을 잃기도하고 delete MS; 같은 행위를 해도 오류입니다.
:
: MS->Clear(); 당연히 안먹구요 하지만!!
:
: SendStream()만 거치지 않으면 전혀 문제없이 돌아갑니다.
:
: 또하나의 경우는 매번 위에서 말씀드린 일들이 실행되는것들을 한곳에 모아놓으면..
:
: 즉.. {} 안에 new든 뭐든 다 있으면 지장이 없다는 것입니다.
:
: 다만 이와중에도 SendStream을 다녀온 MS란 녀석을 다시 건드리게되면 뻑나구요
:
: 이게 무슨 증상이죠? 알려주세요~ ㅡㅜ 제발 ~ 오~노~같은 경우!!
:
:

+ -

관련 글 리스트
17877 TMemoryStream 질문이요 ㅡ0ㅡ;; 수야 730 2002/04/23
17889     Re:TMemoryStream 질문이요 ㅡ0ㅡ;; Falco 931 2002/04/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.