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
[7374] ICS는 안되는 걸까요?;;; Indy로 해결했습니다;;;
이경진 [] 2035 읽음    2001-05-11 10:27
답글 적어주셔서 정말 감사합니다. ㅠ_ㅠ


그런데 말씀하신 SyncSMTP도 이용해 보았습니다만 여전히 같은 문제가 있었습니다.
아마도 이 컴포넌트는 멀티 스레딩을 위해 존재하는 것이 아닐까... 하는 생각이네요.
도움말이 전혀 없다보니 이 컴포넌트로 해결이 될런지도 애매하고;;; 그렇네요;;;

파스칼 소스를 뜯어 대략 짚어보기로는 Open()후 State를 갱신하는 지연시간 사이에
Mail()이 실행되다보니 State가 대기상태가 아닌 것으로 판단하여 일어나는 현상 같습니다.
그래서 Open()과 Mail() 사이에 세마포 등의 지연기능을 넣어보았습니다만
쓰레드 형태는 아닌지 이 경우 전체 프로그램이 지연되는 형식으로 가동되더군요.
그래서 지연이 끝난 후 다시 Mail()이 실행되면서 여전히 오류가 나는.. 그런 상태입니다.
소스의 안에는 StateChange()라는 메소드가 있습니다만 Protected라 실행이 안되고...
이모저모 뜯어보았지만 잘 안되더군요. ㅠ_ㅠ

일단 다른 컴포넌트를 이용하여 해결은 하였습니다.
Indy를 사용하였더니 잘 되더군요.
전체적으로 사용도 쉽고요... 이걸 쓰는게 훨 나을듯 하다는 생각중입니다. ^^;;;;

아뭏든 참.. 왜 ICS에서 안되는지가 상당히 의문이네요;;;
분명 제가 사용법을 모르다보니 생기는 오해같거든요...
ICS에 대해 잘 아시는 분께서 알려주심 정말 감사하겠사옵니다. ^-^/
(그냥 지나갈려니 무지무지하게 찜찜하더라구요;;)


추.
TNMFTP에서 디렉토리 리스트를 받을 때, 리스트가 길 경우 나타나는 증세..
그거랑 아주 비슷하다는 생각입니다.
ShowMessage() 등의 강력한 지연방법을 쓰면 또 되거든요;;;

+ -

관련 글 리스트
7350 ICS의 Smtp 컴포넌트 쓸 때, Open()후 바로 Mail() 못보내나요? 이경진 1836 2001/05/10
7363     Re:ICS의 Smtp 컴포넌트 쓸 때, Open()후 바로 Mail() 못보내나요? 박지훈.임프 2005 2001/05/11
7374         ICS는 안되는 걸까요?;;; Indy로 해결했습니다;;; 이경진 2035 2001/05/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.