Q&A

  • 여러차례 질문한 내용 마지막으로 고수님들께 도움을 청합니다.
pop와 smtp컴퍼넌트 사용에 관한 질문입니다.

메일을 주고 받을 수 있는 프로그램을 작성하기 위함이지요..

물론 델파이 데모를 뒤져보면 아주 간단하게 나와 있기때문에

간단한 메일프로그램을 작성하는데는 문제가 없습니다.

하지만 문제는 에러메세지 입니다.

서버를 잘못입력하거나 아이디 또는 비밀번호를 잘못입력했을경우

영문 에러메세지를 보여줍니다. 물론 지정하지도 않았는데 말입니다.

아마도 제가 생각하기에는 어디엔가 저장되어 있는 메세지를

자동으로 보여주는것 같습니다.

그리고 이런(에러)이벤트가 발생할때 거기에 합당한 메세지를 한글로 작성해서

입력해 놓으면 항상 영문(항상 나오던넘)메세지가 나오고

그창을 닫으면 비로소 제가 입력한 에러메세지가 나옵니다.



제가바라는것은 영문메세지를 한글화 하는것입니다.......



제가 이질문을 수차례해 봤습니다만 아무런 답도 찾지 못했습니다.

이렇게 답만을 강요하는 제게도 문제가 있는줄 압니다...

하지만 고수님들 안되는거라면 안된다고 꼭좀 올려주세요.....

안되는걸 잡고 있을 순 없잖아요...부탁합니다.

4  COMMENTS
  • Profile
    이경문 2000.09.07 07:15
    질문을 하시는데 소스를 올려 주십시오. 질문의 범위가 광범위합니다.



    일단 Tools - Debugger Options - Language Exceptions Tab에서

    Stop On Delphi Exception을 체크해주고 실행시에 에러나는 부분을 알아낸 다음

    try ... except ... end 로 묶어서 예외처리하면 될겁니다.





    김종석 wrote:

    > pop와 smtp컴퍼넌트 사용에 관한 질문입니다.

    > 메일을 주고 받을 수 있는 프로그램을 작성하기 위함이지요..

    > 물론 델파이 데모를 뒤져보면 아주 간단하게 나와 있기때문에

    > 간단한 메일프로그램을 작성하는데는 문제가 없습니다.

    > 하지만 문제는 에러메세지 입니다.

    > 서버를 잘못입력하거나 아이디 또는 비밀번호를 잘못입력했을경우

    > 영문 에러메세지를 보여줍니다. 물론 지정하지도 않았는데 말입니다.

    > 아마도 제가 생각하기에는 어디엔가 저장되어 있는 메세지를

    > 자동으로 보여주는것 같습니다.

    > 그리고 이런(에러)이벤트가 발생할때 거기에 합당한 메세지를 한글로 작성해서

    > 입력해 놓으면 항상 영문(항상 나오던넘)메세지가 나오고

    > 그창을 닫으면 비로소 제가 입력한 에러메세지가 나옵니다.

    >

    > 제가바라는것은 영문메세지를 한글화 하는것입니다.......

    >

    > 제가 이질문을 수차례해 봤습니다만 아무런 답도 찾지 못했습니다.

    > 이렇게 답만을 강요하는 제게도 문제가 있는줄 압니다...

    > 하지만 고수님들 안되는거라면 안된다고 꼭좀 올려주세요.....

    > 안되는걸 잡고 있을 순 없잖아요...부탁합니다.

  • Profile
    김종석 2000.09.07 08:31
    이렇게 관심을 가져주시니 뭐라 할 말이 없군요...감사합니다.

    소스라고까지 할건없습니다.

    델파이에 있는 pop3 데모를 실행해 보시면 금방 알수있습니다.

    nmpop31 컴퍼넌트를 사용해서

    호스트,아이디,패스워드,.....입력한다음 접속을 하는것이죠...

    그런데 호스트가 없거나, 아이디...등등

    입력이 잘못되었을경우..

    예를들어



    procedure TForm.NMPOP31AuthenticationFailed(var Handled: Boolean);

    begin

    ShowMessage( '에러가 났습니다.' );

    end;



    이것이 발생하게 됩니다. 하지만 이렇게 메세지를 넣어도

    만든 메세지보다 영문으로된 'AuthenticationFailed'라는 메세지가

    먼저나오고 다음에서야 '에러가 났습니다.'란 메세지가 한번더 나오는것이죠...

    설명이 잘 되었나 모르겠네요...



    참!! 그리고 이게요...DLL내에서 작성하니까 아이디나 패스워드가 틀릴경우

    '예외 ...........이상한 문자' 라는 치명적인 오류를 유발하고 프로그램

    전체가 종료가 되더군요...이건 왜그렇죠?

    그러니까 pop3컴퍼넌트를 설치한 간단한 메일확인 프로그램을 DLL함수로

    정의 시켜서 메인에서 불러들일때 이렇게 나와요...

    물론 입력한 사항이 정상적일땐 잘 돌아 가구요...

    DLL내가 아닐땐 첫번째 사항처럼 되구요...쩝







    이경문 wrote:

    > 질문을 하시는데 소스를 올려 주십시오. 질문의 범위가 광범위합니다.

    >

    > 일단 Tools - Debugger Options - Language Exceptions Tab에서

    > Stop On Delphi Exception을 체크해주고 실행시에 에러나는 부분을 알아낸 다음

    > try ... except ... end 로 묶어서 예외처리하면 될겁니다.

    >

    >

    > 김종석 wrote:

    > > pop와 smtp컴퍼넌트 사용에 관한 질문입니다.

    > > 메일을 주고 받을 수 있는 프로그램을 작성하기 위함이지요..

    > > 물론 델파이 데모를 뒤져보면 아주 간단하게 나와 있기때문에

    > > 간단한 메일프로그램을 작성하는데는 문제가 없습니다.

    > > 하지만 문제는 에러메세지 입니다.

    > > 서버를 잘못입력하거나 아이디 또는 비밀번호를 잘못입력했을경우

    > > 영문 에러메세지를 보여줍니다. 물론 지정하지도 않았는데 말입니다.

    > > 아마도 제가 생각하기에는 어디엔가 저장되어 있는 메세지를

    > > 자동으로 보여주는것 같습니다.

    > > 그리고 이런(에러)이벤트가 발생할때 거기에 합당한 메세지를 한글로 작성해서

    > > 입력해 놓으면 항상 영문(항상 나오던넘)메세지가 나오고

    > > 그창을 닫으면 비로소 제가 입력한 에러메세지가 나옵니다.

    > >

    > > 제가바라는것은 영문메세지를 한글화 하는것입니다.......

    > >

    > > 제가 이질문을 수차례해 봤습니다만 아무런 답도 찾지 못했습니다.

    > > 이렇게 답만을 강요하는 제게도 문제가 있는줄 압니다...

    > > 하지만 고수님들 안되는거라면 안된다고 꼭좀 올려주세요.....

    > > 안되는걸 잡고 있을 순 없잖아요...부탁합니다.

  • Profile
    최용일 2000.09.07 08:40
    안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다.



    연결하는 부분에다가 try ~ except ~ end구문을 넣어보세요...



    IDE에서 예외를 안보실려면 이경문님의 말씀처럼 설정하시면 되구요...



    try

    NMPOP31.Connect;

    except

    ShowMessage( '에러가 났습니다.' );

    end;



    ^^ 항상 즐코하세요.



    김종석 wrote:

    > 이렇게 관심을 가져주시니 뭐라 할 말이 없군요...감사합니다.

    > 소스라고까지 할건없습니다.

    > 델파이에 있는 pop3 데모를 실행해 보시면 금방 알수있습니다.

    > nmpop31 컴퍼넌트를 사용해서

    > 호스트,아이디,패스워드,.....입력한다음 접속을 하는것이죠...

    > 그런데 호스트가 없거나, 아이디...등등

    > 입력이 잘못되었을경우..

    > 예를들어

    >

    > procedure TForm.NMPOP31AuthenticationFailed(var Handled: Boolean);

    > begin

    > ShowMessage( '에러가 났습니다.' );

    > end;

    >

    > 이것이 발생하게 됩니다. 하지만 이렇게 메세지를 넣어도

    > 만든 메세지보다 영문으로된 'AuthenticationFailed'라는 메세지가

    > 먼저나오고 다음에서야 '에러가 났습니다.'란 메세지가 한번더 나오는것이죠...

    > 설명이 잘 되었나 모르겠네요...

    >

    > 참!! 그리고 이게요...DLL내에서 작성하니까 아이디나 패스워드가 틀릴경우

    > '예외 ...........이상한 문자' 라는 치명적인 오류를 유발하고 프로그램

    > 전체가 종료가 되더군요...이건 왜그렇죠?

    > 그러니까 pop3컴퍼넌트를 설치한 간단한 메일확인 프로그램을 DLL함수로

    > 정의 시켜서 메인에서 불러들일때 이렇게 나와요...

    > 물론 입력한 사항이 정상적일땐 잘 돌아 가구요...

    > DLL내가 아닐땐 첫번째 사항처럼 되구요...쩝

    >

    >

    >

    > 이경문 wrote:

    > > 질문을 하시는데 소스를 올려 주십시오. 질문의 범위가 광범위합니다.

    > >

    > > 일단 Tools - Debugger Options - Language Exceptions Tab에서

    > > Stop On Delphi Exception을 체크해주고 실행시에 에러나는 부분을 알아낸 다음

    > > try ... except ... end 로 묶어서 예외처리하면 될겁니다.

    > >

    > >

    > > 김종석 wrote:

    > > > pop와 smtp컴퍼넌트 사용에 관한 질문입니다.

    > > > 메일을 주고 받을 수 있는 프로그램을 작성하기 위함이지요..

    > > > 물론 델파이 데모를 뒤져보면 아주 간단하게 나와 있기때문에

    > > > 간단한 메일프로그램을 작성하는데는 문제가 없습니다.

    > > > 하지만 문제는 에러메세지 입니다.

    > > > 서버를 잘못입력하거나 아이디 또는 비밀번호를 잘못입력했을경우

    > > > 영문 에러메세지를 보여줍니다. 물론 지정하지도 않았는데 말입니다.

    > > > 아마도 제가 생각하기에는 어디엔가 저장되어 있는 메세지를

    > > > 자동으로 보여주는것 같습니다.

    > > > 그리고 이런(에러)이벤트가 발생할때 거기에 합당한 메세지를 한글로 작성해서

    > > > 입력해 놓으면 항상 영문(항상 나오던넘)메세지가 나오고

    > > > 그창을 닫으면 비로소 제가 입력한 에러메세지가 나옵니다.

    > > >

    > > > 제가바라는것은 영문메세지를 한글화 하는것입니다.......

    > > >

    > > > 제가 이질문을 수차례해 봤습니다만 아무런 답도 찾지 못했습니다.

    > > > 이렇게 답만을 강요하는 제게도 문제가 있는줄 압니다...

    > > > 하지만 고수님들 안되는거라면 안된다고 꼭좀 올려주세요.....

    > > > 안되는걸 잡고 있을 순 없잖아요...부탁합니다.

  • Profile
    이경문 2000.09.07 08:31
    procedure TForm1.Button6Click(Sender: TObject);

    begin

    try <--------------------

    NMPOP31.GetSummary(StrToInt(Edit5.Text));

    Edit6.Text := NMPOP31.Summary.From;

    Edit7.Text := NMPOP31.Summary.Subject;

    Edit8.Text := IntToStr(NMPOP31.Summary.Bytes);

    Edit9.Text := NMPOP31.Summary.MessageID;

    Memo2.Lines.Assign(NMPOP31.Summary.Header);

    except <--------------------

    ShowMessage('여기서 에러가 나는 구나'); <--------------------

    end; <--------------------

    end;



    p.s

    메일관련 프로그램을 처음 하시는 모양이네요.

    NMPOP3와 NMSMTP는 한글처리가 되지 않습니다.

    다른 것을 써 보심이 어떨런지..







    김종석 wrote:

    > 이렇게 관심을 가져주시니 뭐라 할 말이 없군요...감사합니다.

    > 소스라고까지 할건없습니다.

    > 델파이에 있는 pop3 데모를 실행해 보시면 금방 알수있습니다.

    > nmpop31 컴퍼넌트를 사용해서

    > 호스트,아이디,패스워드,.....입력한다음 접속을 하는것이죠...

    > 그런데 호스트가 없거나, 아이디...등등

    > 입력이 잘못되었을경우..

    > 예를들어

    >

    > procedure TForm.NMPOP31AuthenticationFailed(var Handled: Boolean);

    > begin

    > ShowMessage( '에러가 났습니다.' );

    > end;

    >

    > 이것이 발생하게 됩니다. 하지만 이렇게 메세지를 넣어도

    > 만든 메세지보다 영문으로된 'AuthenticationFailed'라는 메세지가

    > 먼저나오고 다음에서야 '에러가 났습니다.'란 메세지가 한번더 나오는것이죠...

    > 설명이 잘 되었나 모르겠네요...

    >

    >

    >

    >

    > 이경문 wrote:

    > > 질문을 하시는데 소스를 올려 주십시오. 질문의 범위가 광범위합니다.

    > >

    > > 일단 Tools - Debugger Options - Language Exceptions Tab에서

    > > Stop On Delphi Exception을 체크해주고 실행시에 에러나는 부분을 알아낸 다음

    > > try ... except ... end 로 묶어서 예외처리하면 될겁니다.

    > >

    > >

    > > 김종석 wrote:

    > > > pop와 smtp컴퍼넌트 사용에 관한 질문입니다.

    > > > 메일을 주고 받을 수 있는 프로그램을 작성하기 위함이지요..

    > > > 물론 델파이 데모를 뒤져보면 아주 간단하게 나와 있기때문에

    > > > 간단한 메일프로그램을 작성하는데는 문제가 없습니다.

    > > > 하지만 문제는 에러메세지 입니다.

    > > > 서버를 잘못입력하거나 아이디 또는 비밀번호를 잘못입력했을경우

    > > > 영문 에러메세지를 보여줍니다. 물론 지정하지도 않았는데 말입니다.

    > > > 아마도 제가 생각하기에는 어디엔가 저장되어 있는 메세지를

    > > > 자동으로 보여주는것 같습니다.

    > > > 그리고 이런(에러)이벤트가 발생할때 거기에 합당한 메세지를 한글로 작성해서

    > > > 입력해 놓으면 항상 영문(항상 나오던넘)메세지가 나오고

    > > > 그창을 닫으면 비로소 제가 입력한 에러메세지가 나옵니다.

    > > >

    > > > 제가바라는것은 영문메세지를 한글화 하는것입니다.......

    > > >

    > > > 제가 이질문을 수차례해 봤습니다만 아무런 답도 찾지 못했습니다.

    > > > 이렇게 답만을 강요하는 제게도 문제가 있는줄 압니다...

    > > > 하지만 고수님들 안되는거라면 안된다고 꼭좀 올려주세요.....

    > > > 안되는걸 잡고 있을 순 없잖아요...부탁합니다.

    • 이용
    • 2000.09.07 08:58
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 사발우성
      2000.09.07 17:39
      하여 초보중의 초보 허접 사발임당.. 이건 지가 잘하는 거라서리... ^______________________^ 일단...
    • 이경문
      2000.09.07 09:33
      혹시 MainForm이 어떤 건가요? MainForm의 Close는 프로그램의 종료입니다. 그러므로 Close를 쓰지 마시고...
    • 이용
      2000.09.07 17:36
      Hide를 쓰면 Show 하면서 콘트롤을 다시 만들어야 할 것 같은데,, 이러면 콘트롤을 Free 하고 다시 만들어...
    • 이경문
      2000.09.09 03:39
      Hide했을 때 콘트롤들이 해제되지는 않습니다. 그러므로 Show에서 별 작업을 안하셔도 될 겁니다. 그리고 S...
    • 최용일
      2000.09.07 08:21
      안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다. 그것도 Copy함수를 쓰...
    • 권영택
    • 2000.09.07 07:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 권영택
      2000.09.09 02:27
      제가 자답을 하는군여 contentfield.CommaText를 쓰면 답만 콤마처럼 들어오는 게 아니라 korea="사...
    • 코스모
    • 2000.09.07 05:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 허춘
      2000.09.07 12:58
      > *--> 설명 > Table1에는 04 가 없구 05 가 있습니다. > SQL을 실행하면 '출력 결과물'이 나...
    • 김종석
    • 2000.09.07 05:17
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이경문
      2000.09.07 07:15
      질문을 하시는데 소스를 올려 주십시오. 질문의 범위가 광범위합니다. 일단 Tools - Debugger Options -...
    • 김종석
      2000.09.07 08:31
      이렇게 관심을 가져주시니 뭐라 할 말이 없군요...감사합니다. 소스라고까지 할건없습니다. 델파이에 있...
    • 최용일
      2000.09.07 08:40
      안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다. 연결하는 부분에다가 t...
    • 이경문
      2000.09.07 08:31
      procedure TForm1.Button6Click(Sender: TObject); begin try ...
    • heimdal
    • 2000.09.07 04:27
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 김경식
      2000.09.07 04:34
      count0_1:=count0/(temp.Count-1)*100; 이 부분에서 / 대신에 div로 바꾸어 주시면 되구요.. 혹은 count0...
    • 최용일
      2000.09.07 20:25
      안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다. 그거 버그 아녜요... ...
    • 성더기
      2000.09.07 18:09
      김경식 wrote: > count0_1:=count0/(temp.Count-1)*100; 이 부분에서 / 대신에 div로 바꾸어 주시면 되구...
    • heimdal
      2000.09.07 05:57
      count_1:= count1 div (temp.count-1); count_0:= count0 div (temp.Count-1); 이렇게 했...
    • 박용철
      2000.09.07 07:48
      div는 정수형으로 계산됩니다만 백분율에선 100% 이외에는 전부 0으로 나옵니다. (10 div 50) * 100 의 경...
    • 이경문
      2000.09.07 07:26
      temp의 타입이 뭔가여? class인 경우에 temp객체를 생성시켰는지 확인해 보세요. heimdal wrote: > ...
    • 김경식
      2000.09.07 04:19
      TreeView1.Selected.GetLastChild.Index 라고 하면 마지막 자식노드의 인덱스입니다. 그리고, 저도 맨날...
    • 박용철
      2000.09.07 11:17
      Detail Band와 SubDetail Band를 사용하세요. //Title Band의 내용 Detail Band의 Title //Detail Ban...
    • 허춘
      2000.09.07 13:01
      윤미영 wrote: > 저는 지금 처음으로 델파이로 프로그래밍하여 cd배포판을 만들려고 합니다. 그런데 이 프...
    • bigjang
    • 2000.09.07 02:30
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 초보
    • 2000.09.07 02:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2000.09.07 03:15
      음 우선... key violation 에러는 소스상의 에러라기 보다는 디비상의 데이터 값의 에러입니다 말그대...
    • 김하늘
    • 2000.09.07 02:17
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이경문
      2000.09.07 07:17
      김하늘 wrote: > idTcpClient에서 메시지를 보내면 서버의 어느 이벤트가 발생하는지요? > 마찬가지로 서...
    • 김하늘
      2000.09.07 19:28
      우선 답변주셔서 감사드립니다. 델파이 소켓에서 처럼 간단한 서버클라이언트간에 채팅 프로그램이 가능한...
    • 이경문
      2000.09.09 03:11
      자료실에 올려 놓았습니다. 김하늘 wrote: > 우선 답변주셔서 감사드립니다. > 델파이 소켓에서 처럼 ...
    • 최용일
      2000.09.07 08:45
      안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다. 아래와 같이 하세요. C...
    • 조규춘
      2000.09.07 02:28
      안완엽 wrote: > 안녕하세요. > > 사용자 Login 정보를 얻고 싶어 WnetGetConnection API를 사용하고 ...