Q&A

  • 메일 전송하기기능 귀현중에...


uses ... ComObj, OutlookXP, Outlook2000, Outlook8;  여기에 빠진것이 있나여?
사용했습니다. 근데 ComObj이것만으로도 되어야하지 않을까싶은데...
아래의 두가지는 모두 ComObj 이것에서 사용되는 것들인데 말이죠!
-------------------------------------------------------------------
방법 1 -> CreateOLEObject('outlook.Application');
방법 2 -> GetActiveOleObject('Outlook.Application');
소스 - 둘다 똑같은 메시지로 오류가 발생합니다.
var OutlookApp: OLEVariant;
..
  try
    OutlookApp := GetActiveOleObject('Outlook.Application');
  except
    OutlookApp := CreateOleObject('Outlook.Application');
  end;
"잘못된 클래스..."라 하는데... 어찌된건지 도통모르겠어여!
------------------------------------------------------------------------------
위와 같은 코드가 실행이 되어야하는데... 오류가 발생합니다.
무슨 문제인지 해결이 안됩니다.. 어찌해야할까여?

참고
근데 위의 방법은 윈도우 아웃룩이 셋팅되어야만이 사용가능할거 같은데여!
아웃룩이 셋팅안된상태에서 서버..등등을 직접 셋팅해서 할수는 없는지요..
5  COMMENTS
  • Profile
    최용일 2008.12.12 03:14
    에러메세지로 보면 아웃룩이 설치안되어 있는것 같네요...

    방법1,2둘다 별 차이없구요. 반드시 Microsoft Office Outlook이 설치되어 있어야 가능합니다.
    셋팅은 보통 Office OutLook설치하면서 하죠.

    참고적으로 윈도우에서 기본적으로 제공하는 아웃룩(아웃룩 익스프레스)와 오피스 아웃룩은 다릅니다. 윈도우에서 기본으로 제공하는 아웃룩은 OLE를 지원하지 않습니다. 위와 같은 방법은 사용할 수 없습니다.

    보통 메일보낼때는 SMTP로 보내죠. Indy등 SMTP를 지원하는 컴포넌트를 사용해서 메일을 보내시는 것이 좋을듯합니다.
  • Profile
    김현철 2008.12.12 03:33
    답글 감사합니다.
    여러 글을 읽는 중에 봤음에도 불구하고 정확히 이해를 못해서 헤매고 있었네여!
    자료실에 많은 분들이 올려놓은 것들이 있는데... 보통의 것들이 TNMSMTP라는것을 사용하시더라구여!
    근데 이것은 보기에 외부 컴퍼넌트인거 같은데... 기본 컴퍼넌트중에서 최용일님이 말씀하신...
    Indy등 SMTP 이것들을 사용하면 될거 같은데... 샘플을 찾가기 힘이 들더라구여! 써치능력이 없어서인지...
    혹시 좋은 자료 알고 계시다면... URL로 하나 걸어 주시면 감사하겠습니다.

    님이 올려놓은 이것도 쓸가했는데.. indy10.0.52_source.zip (1.78 MB) 기본적으로 외부 컴퍼넌트를 쓰지 말아야하기 때문에... 물론 TNMSMTP로 그렇구여!! 델7에 있는 기본중에서 SMTP를 이용하거나
    샘플하기 좋은 넘으로다가... 아님 샘플로 님께서 간단한걸로다가 파일 첨부해서 보내는것을 맹글어 줘도 물론 좋구여! 이런 부탁을 하면 안되는것은 알지만......ㅡㅡ;

    즐거운 저녁 보네세요!
  • Profile
    최용일 2008.12.12 03:55
    델파이7이면 FastNet컴포넌트(TNMSMTP) 대신에 Indy 9버전이 기본으로 들어가 있을건데요...
    Indy로 메일보내는 것은 Indy 데모를 보시면 됩니다.

    http://www.indyproject.org/Sockets/Download/Files/Indy9.EN.aspx
  • Profile
    김현철 2008.12.12 04:40
    최용일님... 혹시 target=_blank>http://www.delphi.co.kr/zboard/view.php?id=tips&no=1395


    기억하시나여? 좋은 샘플이 될거 같은데... 님이 적어 놓은 것에서 손봐야 할것이 있거나...

    추가 기능을 넣어야 할것이 있을까여? ㅎㅎ 시간되시면 함 봐주세요!

    이것으로도 파일 첨부해서 보낼수 있는것이겠지요!? ㅎㅎ 안되는 헛고생....ㅡㅡ;

    물론 님이 알려주신 사이트로 보니까... 많은 데모들이 있더라구여! 근데 중간중간에 오류도 나고... 좀 봐야겠더라구여! ㅎㅎ
  • Profile
    최용일 2008.12.12 06:06
    파일 첨부 기능만 추가하시면 되겠네요...
    • 김현철
    • 2008.12.18 19:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 난난난난
      2008.12.19 02:24
      일반적으로는 메모안에서 enter를 치면 다음칸으로 나옵니다. 님의 경우는 화면에 KeyPreview := True...
    • 김현철
      2008.12.19 18:02
      답글 감사합니다! 님의 얘기대로 했더니... 메모에서 포커스가 없어졌습니다. 포커스가 다음으로 이동...
    • 이강석
      2008.12.18 18:21
      페이지 틀린 곳의 버튼 speed1이고 누르려고 하는 버튼이 speed2라면 speed1Click이벤트 코딩하는 부분...
    • 전봉수
      2008.12.18 20:36
      // 입력탭의 수정 스피드버튼 실행 및 에디터에 값 넣기 IF PAGECONTROL1.ActivePage = TABSHEET1 THEN ...
    • 이강석
      2008.12.18 02:42
      구분되어 있는 다른 스피드 버튼을 눌러지게 한다는 말이 혹시 현재 탭 말고 다른 탭에 있는 버튼을 어떤...
    • 이정욱
      2008.12.18 04:11
      그냥 그 이벤트 호출 해주시면 되는데요.... 만약 Button1Click 로 되어있다면, Button1Click(Button1) ...
    • 전봉수
      2008.12.18 05:32
      이강석님 이정욱님 답변감사합니다. 이강석님 말씀 대로 입니다. "단" 어떤 시점이 아니고 수동으로 눌...
    • 홍성락
      2008.12.18 07:39
      말씀하신걸 직역하면 어떤 스피드 버튼을 클릭하는게 아니라 눌러진 상태로 만든다는 말씀이시지요. 1. ...
    • 전봉수
      2008.12.18 11:25
      홍성락님 답변 감사합니다. 저의 질문을 다른방향으로 이해시신것 같씁니다. 제가질문 들인것은 스피드...
    • 홍성락
      2008.12.18 18:25
      그렇다면 위의 이정욱님 말씀대로하면 될건데요...같은 폼이라면 아무리 페이지컨트롤로 나뉜다하여도 같...
    • 전봉수
      2008.12.18 20:35
      // 입력탭의 수정 스피드버튼 실행 및 에디터에 값 넣기 IF PAGECONTROL1.ActivePage = TABSHEET1 THEN ...
    • 꼬꼬마
    • 2008.12.17 23:45
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.12.18 01:40
      Cells에 들어가는 값이 Row, Column순입니다. 이것만 잘 맞추시면 될것같은데요... idx변수가 요일을 나...
    • 꼬꼬마
      2008.12.18 21:43
      근데요// 어떤식으로 해야 되는거져? 일자에 기준으로 데이터를 뿌려주려고 하는데; 이거 생각보다 잘...
    • 최용일
      2008.12.19 02:16
      글쎄요... 그렇게 말씀하시면 더이상 할 말이 없는데요... 데이터들이 들어가야 할 셀의 위치를 다 알고...
    • 홍성락
      2008.12.17 22:42
      Message.WParam의 내용값이 문자렬 시작 주소라서 그냥 DataStr:= PChar(Message.WParam); 또는 DataSt...
    • 최용일
      2008.12.17 23:22
      WM_USER로는 문자열을 받기 힘들건데요... 양쪽 프로세스 간의 주소쳬계들이 달라서 전송을 해봤자 쓸 수...
    • 이정욱
      2008.12.18 04:13
      아니면 소켓 놓고.. 127.0.0.1 로컬로 문자 주고 받으셔도...ㅡㅡ;
    • 김현철
    • 2008.12.17 15:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.12.17 20:01
      쿼리 자체를 안한다면 모를까... 쿼리한 필드를 없앨 수는 없구요... 업데이트할 때 TUpdateSQL을 써서 ...
    • 김현철
      2008.12.17 20:44
      현재 사용하고있는 컴퍼넌트가 dbexpress에 있는 것을 사용하다보니... TUpdateSQL를 쓰기에는 좀..... ...
    • 이강석
      2008.12.17 18:37
      단순히 위에 코드만 적어주시면 어떤 부분에서 에러나 나는지 익셉션이 나는건지 알 수가 없을거 같은데....
    • 윤박사
      2008.12.17 19:09
      If Not AThread.Terminated And AThread.Connection.Connected Then Begin Try ...
    • 최용일
      2008.12.17 23:27
      서버쪽 소스같은데... AThread.Terminate;는 왜하시는지 모르겠네요... 이유가 있겠죠... 암튼... 서...
    • 이강석
      2008.12.17 23:38
      음...ReadBuffer말고 ReadLn으로 읽으셔서...구조체의 맨마지막에 종료문자코드를 주시고 읽으시면 안되...
    • 이강석
      2008.12.17 23:40
      type TCommBlock = record Msg : array[1..5000] of Byte; ...
    • 이정욱
      2008.12.18 04:15
      근데.. 왜 Record로 하셨는지..... 위 같은 식이라면 그냥.. var Msg : array[1..5000] of Byte; ...
    • 최용일
      2008.12.17 19:17
      델파이7은 Update1까지 나와 있습니다. 설치해주시면 될것같네요... 관련 파일은 코드기어 홈페이지에 ...
    • 맥스
      2008.12.18 00:04
      최 용 일 님 ^^ Update1 해주는거랑 안해주는거..차이 많이 나나여 ?
    • 최용일
      2008.12.18 05:27
      글쎄요... 차이에 대해선 생각해본적이 없어서... 그래도 여러가지 버그들도 고쳐졌고 했으니까 Update...
    • phono
      2008.12.18 18:40
      update1을 패치해 주지 않으면.. ado 와 연동되는 TAdo 쿼리의 sql.add 같은 펑션 사용하여 쿼리문...
    • 맥스
      2008.12.18 19:49
      phono님.. update1 패치 다운로드 꽁짜 맞아여? 불법 델파이를 써서요 ;;
    • lee, js
    • 2008.12.17 03:29
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 밴댕이
    • 2008.12.17 02:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.12.17 04:34
      TCanvas.TextOut보다는 API의 ExtTextOut이나 DrawText/DrawTextEx같이 글자를 클립핑해서 쓸 수 있는 함...
    • 이강석
      2008.12.17 18:40
      열때 오류가 발생하는건 대부분 컴포넌트를 사용한 소스를 컴포넌트가 없는 상태에서 열때 날거 같긴한데...
    • 구창민
      2008.12.16 01:11
      안녕하세요... BringToFront 와 SendToBack 을 이용해 보세요.. 즐거운 프로그래밍 하시구요~
    • 이강석
      2008.12.17 23:44
      패스워드나 암호를 login.cgi로 넘길때 login_id.Text나 login_pw.Text는 에디트일거 같은데 단순한 문자...
    • 귀여운대빵
      2008.12.18 02:35
      앗^^ 답변 감사합니다. 아래방식으로 해결되었습니다. procedure setcookies; var i, count:int...
    • 양용성
      2008.12.13 03:21
      오라클에 트랜잭션이 생겼는지 검사하는 방법은 연결이 끊었을 경우나 트랜잭션이 있는지 확인하려고 ...
    • 허수진
    • 2008.12.13 00:26
    • 0 COMMENTS
    • /
    • 0 LIKES
    • cell
    • 2008.12.12 18:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 바람
      2008.12.12 19:36
      Procedure Val 과 혼동되는건 아닌지요 변수명 Val을 딴 이름으로 바꿔보세요
    • 김현철
    • 2008.12.12 02:45
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.12.12 03:14
      에러메세지로 보면 아웃룩이 설치안되어 있는것 같네요... 방법1,2둘다 별 차이없구요. 반드시 Micros...
    • 김현철
      2008.12.12 03:33
      답글 감사합니다. 여러 글을 읽는 중에 봤음에도 불구하고 정확히 이해를 못해서 헤매고 있었네여! 자...
    • 최용일
      2008.12.12 03:55
      델파이7이면 FastNet컴포넌트(TNMSMTP) 대신에 Indy 9버전이 기본으로 들어가 있을건데요... Indy로 메...
    • 김현철
      2008.12.12 04:40
      최용일님... 혹시 http://www.delphi.co.kr/zboard/view.php?id=tips&no=1395 기억하시나여? 좋은 샘...
    • 최용일
      2008.12.12 06:06
      파일 첨부 기능만 추가하시면 되겠네요...
    • 남호성
    • 2008.12.12 00:56
    • 0 COMMENTS
    • /
    • 0 LIKES