Q&A

  • 서로다른 프로그램과 메시지 통신
서로다른 프로그램과의 메시지 통신을 하려고 합니다.

두개의 프로그램이 존재합니다.

하나는 비주얼 씨로 만들었구요(가) 하나는 델파이에서 만들었습니다(나).

(가)에서 (나)프로그램을 실행시키구요 서로 메모리를 공유하고 있습니다.

단 메모리에 쓰고 읽을때 서로 메시지 통신을 하려고 합니다.

마지막으로 (나)프로그램에서는 항시 (가)에서 보내는 메시지를 항시 체크해야 합니다. 당연하다구요?



여러가지 테스트해본결과 (나)에서 보낸 메시지를 (가)에서는 받을 수 있습니다. 단 (가)에서 보낸 메시지를 받는 부분을 못하고 있습니다.



다음은 (나)에서 메시지 보내는 방법입니다. (가)에서 메시지 보내는 방법도 동일합니다.

nRegMsg := RegisterWindowMessage('IC Card');

SendMessage(HWND_BROADCAST, nRegMsg, 0,0 );



이 문제의 해결여부에 따라 여러사람이 달려 있습니다.. 무엇이?



그럼 여러 고수님들의 답변을 기다립니다.

한가지.. 무지 급하다는 사실 잊지 말아주세요~

감사합니다.

1  COMMENTS
  • Profile
    이정욱 1999.07.31 08:59
    쩝...질문이 조금 애매 하네요.

    그리고 BroadCast로 메세지를 보내는것보다는 특정 윈도우로 보내는것이 더 좋을듯 합니다.

    FindWindow로 (가)나 (나)의 핸들을 얻어와서 SendMessage를 해줘도 됩니다.

    그리고 델파이에서 메세지를 받는법은 VC보다 훨씬간편합니다.

    물론 C에서 처럼 WinProc을 가지고 할수도 있겠지만 특정 메세지만을 받을것이라면 더 좋은 방법이 있습니다.



    procedure GotMessage(var Message: TMessage); message nRegMsg;



    로 선언을 하신후..



    procedure TMainForm.GetMessage(var Message : TMessage);

    begin

    end;



    에서 처리를 해주시면 됩니다.

    그럼..



    진정은 께서 말씀하시기를...

    > 서로다른 프로그램과의 메시지 통신을 하려고 합니다.

    > 두개의 프로그램이 존재합니다.

    > 하나는 비주얼 씨로 만들었구요(가) 하나는 델파이에서 만들었습니다(나).

    > (가)에서 (나)프로그램을 실행시키구요 서로 메모리를 공유하고 있습니다.

    > 단 메모리에 쓰고 읽을때 서로 메시지 통신을 하려고 합니다.

    > 마지막으로 (나)프로그램에서는 항시 (가)에서 보내는 메시지를 항시 체크해야 합니다. 당연하다구요?

    >

    > 여러가지 테스트해본결과 (나)에서 보낸 메시지를 (가)에서는 받을 수 있습니다. 단 (가)에서 보낸 메시지를 받는 부분을 못하고 있습니다.

    >

    > 다음은 (나)에서 메시지 보내는 방법입니다. (가)에서 메시지 보내는 방법도 동일합니다.

    > nRegMsg := RegisterWindowMessage('IC Card');

    > SendMessage(HWND_BROADCAST, nRegMsg, 0,0 );

    >

    > 이 문제의 해결여부에 따라 여러사람이 달려 있습니다.. 무엇이?

    >

    > 그럼 여러 고수님들의 답변을 기다립니다.

    > 한가지.. 무지 급하다는 사실 잊지 말아주세요~

    > 감사합니다.