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
[51132] TClientSocket 생성시 다운비슷한 현상이 생깁니다
물소리 [jasonkrm] 1367 읽음    2007-11-01 19:05
class A에서 TClientSocket을 멤버클래스로 가지고 있습니다
Class A생성자에서 TClientSocket을 생성(new)하고 Calss 소멸자에서 TClientSocket을 소멸(delete)하도록
되어 있습니다.

폼에서는 Class A를 멤버로 가지고 있으면서 동적으로 생성해야만 합니다.
//-- Form생성자에서 m_A에 NULL값으로 초기화 한 후
A* m_A == NULL;
특정 함수에서는 다음과 같이 코딩하였습니다

if(m_A) delete m_A;
m_A = new A;

위의 내용은 A클래스가 이미 생성되어 있으면 delete한 후 새로이 new를 해야하는 상황입니다.
그런데 위의 내용이 실행 될때는 첫번째는 정상 작동 되는데...다시 그 함수를 수행하게 되면

다운되는 현상이 발생합니다.
추측하건데 delete ClientSocket을 실행하면 TClientSocket이 완전히 소멸된 후 리턴되는 것이 아니라
Socket관련 소멸자가 쓰레드로 따로 돌면서 소멸이 되는것으로 추측됩니다.
따라서 delete m_A; 후 바로 new를 하게 되면 TClientSocket이 소멸되는 사이에 기존 포인터에 새로운
ClientSocket이 생성되면서 다운 현상이 나는 것으로 추정됩니다.

따라서 ClientSocket의 소멸자가 완전히  소멸되었는지를 확인할 수 있는 방법을 알고 싶습니다.
그러면 위와 같은 문제가 해결 될것으로 생각됩니다..

고수님들의 조언 부탁드립니다.

+ -

관련 글 리스트
51132 TClientSocket 생성시 다운비슷한 현상이 생깁니다 물소리 1367 2007/11/01
51135     Re:TClientSocket 생성시 다운비슷한 현상이 생깁니다 이의영 1315 2007/11/02
51137         Re:Re:TClientSocket 생성시 다운비슷한 현상이 생깁니다 물소리 1325 2007/11/02
51159             Re:Re:Re:TClientSocket 생성시 다운비슷한 현상이 생깁니다 아제나 1524 2007/11/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.