|
답글 적어주셔서 정말 감사합니다. ㅠ_ㅠ
그런데 말씀하신 SyncSMTP도 이용해 보았습니다만 여전히 같은 문제가 있었습니다.
아마도 이 컴포넌트는 멀티 스레딩을 위해 존재하는 것이 아닐까... 하는 생각이네요.
도움말이 전혀 없다보니 이 컴포넌트로 해결이 될런지도 애매하고;;; 그렇네요;;;
파스칼 소스를 뜯어 대략 짚어보기로는 Open()후 State를 갱신하는 지연시간 사이에
Mail()이 실행되다보니 State가 대기상태가 아닌 것으로 판단하여 일어나는 현상 같습니다.
그래서 Open()과 Mail() 사이에 세마포 등의 지연기능을 넣어보았습니다만
쓰레드 형태는 아닌지 이 경우 전체 프로그램이 지연되는 형식으로 가동되더군요.
그래서 지연이 끝난 후 다시 Mail()이 실행되면서 여전히 오류가 나는.. 그런 상태입니다.
소스의 안에는 StateChange()라는 메소드가 있습니다만 Protected라 실행이 안되고...
이모저모 뜯어보았지만 잘 안되더군요. ㅠ_ㅠ
일단 다른 컴포넌트를 이용하여 해결은 하였습니다.
Indy를 사용하였더니 잘 되더군요.
전체적으로 사용도 쉽고요... 이걸 쓰는게 훨 나을듯 하다는 생각중입니다. ^^;;;;
아뭏든 참.. 왜 ICS에서 안되는지가 상당히 의문이네요;;;
분명 제가 사용법을 모르다보니 생기는 오해같거든요...
ICS에 대해 잘 아시는 분께서 알려주심 정말 감사하겠사옵니다. ^-^/
(그냥 지나갈려니 무지무지하게 찜찜하더라구요;;)
추.
TNMFTP에서 디렉토리 리스트를 받을 때, 리스트가 길 경우 나타나는 증세..
그거랑 아주 비슷하다는 생각입니다.
ShowMessage() 등의 강력한 지연방법을 쓰면 또 되거든요;;;
|