Q&A

  • 프로그램 A의 사용자 정의 메시지를 프로그램 B에서 부르는 법?
vc++로 작성된 프로그램 A가 있습니다.

그 안에 사용자 정의된 메시지가 있습니다.

예를 들어 WM_KILL_CLIENT라고하면,



델파이로 작성된 프로그램 B 에서 A의 WM_KILL_CLIENT를

호출하려고 하는데 잘 안되네요.



델파이쪽에서는 send_message(aHandle,WM_KILL_CLIENT,0,0)하면

compile시 에러가 뜹니다. 정의되지 않았다는 error요.



델파이쪽을 어떻게 설정해야나는지....



도움 바랍니다.

2  COMMENTS
  • Profile
    김영석 2000.12.28 07:03
    VC++ 로 프로그램 짤때

    WM_KILL_CLIENT 가 원래 없던 메시지인데 프로그래머가

    만들어 준 메시지라면 아마 WM_USER 에 일정한 숫자를 더해서

    만들어준 메시지일거 같습니다.



    그걸 다른 프로그램에서 사용하려면 자기도 선언을 해줘야죠..

    가령 VC++ 에서

    WM_KILL_CLIENT 를

    const

    WM_KILL_CLIENT = WM_USER + $10;

    처럼 정의했다면 델파이에서 그 메시지를 사용하는 것도

    상수로 정의해 줘야 합니다.



    위의 선언처럼.. 그 메시지를 사용하는 유닛에서 const 절에 추가해야

    합니다. 추가할 때에는 꼭 이름이 WM_KILL_CLIENT 가 아니어도

    그것과 값만 같다면 상관없겠고.. .







    이선형 wrote:

    > vc++로 작성된 프로그램 A가 있습니다.

    > 그 안에 사용자 정의된 메시지가 있습니다.

    > 예를 들어 WM_KILL_CLIENT라고하면,

    >

    > 델파이로 작성된 프로그램 B 에서 A의 WM_KILL_CLIENT를

    > 호출하려고 하는데 잘 안되네요.

    >

    > 델파이쪽에서는 send_message(aHandle,WM_KILL_CLIENT,0,0)하면

    > compile시 에러가 뜹니다. 정의되지 않았다는 error요.

    >

    > 델파이쪽을 어떻게 설정해야나는지....

    >

    > 도움 바랍니다.

  • Profile
    이선형 2000.12.28 22:58
    고맙습니다. 김영석님.



    첫번째 문제는 델파이에 메시지 설정이었고,

    둘째는 VC++로 작성한 문서에 메시지를 전달 할 수 없었던것인데



    첫번째는 김영석님이 말씀하신대로 메시지를 설정하니 되었고,

    둘째는 VC++로 작성한 프로그램의 FrameWindow에 메시지 처리 루틴을 설정하니

    돼네요.



    도움 고맙습니다.



    김영석 wrote:

    > VC++ 로 프로그램 짤때

    > WM_KILL_CLIENT 가 원래 없던 메시지인데 프로그래머가

    > 만들어 준 메시지라면 아마 WM_USER 에 일정한 숫자를 더해서

    > 만들어준 메시지일거 같습니다.

    >

    > 그걸 다른 프로그램에서 사용하려면 자기도 선언을 해줘야죠..

    > 가령 VC++ 에서

    > WM_KILL_CLIENT 를

    > const

    > WM_KILL_CLIENT = WM_USER + $10;

    > 처럼 정의했다면 델파이에서 그 메시지를 사용하는 것도

    > 상수로 정의해 줘야 합니다.

    >

    > 위의 선언처럼.. 그 메시지를 사용하는 유닛에서 const 절에 추가해야

    > 합니다. 추가할 때에는 꼭 이름이 WM_KILL_CLIENT 가 아니어도

    > 그것과 값만 같다면 상관없겠고.. .

    >

    >

    >

    > 이선형 wrote:

    > > vc++로 작성된 프로그램 A가 있습니다.

    > > 그 안에 사용자 정의된 메시지가 있습니다.

    > > 예를 들어 WM_KILL_CLIENT라고하면,

    > >

    > > 델파이로 작성된 프로그램 B 에서 A의 WM_KILL_CLIENT를

    > > 호출하려고 하는데 잘 안되네요.

    > >

    > > 델파이쪽에서는 send_message(aHandle,WM_KILL_CLIENT,0,0)하면

    > > compile시 에러가 뜹니다. 정의되지 않았다는 error요.

    > >

    > > 델파이쪽을 어떻게 설정해야나는지....

    > >

    > > 도움 바랍니다.