Q&A

  • activeform에서 message 듣기
c/s 프로그램에서 웹프로그램의 자바스크립트 함수를 호출하는 기능을

아래와 같은 순서로 작성하였습니다.


1. c/s 프로그램에 메시지 발생 버튼을 만든다.
   SendMessage(HWND_BROADCAST, WM_COMMAND, WM_USER + 201, 0);

2. Active Form에서 메시지 듣는 함수를 만든다.
   procedure readyForRun(var msg: TMessage); message WM_COMMAND;

3. Active Form에서 이벤트를 발생하는 함수를 만든다.

4. 해당 이벤트에 자바스크립트를 실행한다.


이런 식으로 구현했는데,

1번, 3번, 4번 함수는 잘 작동이 되는데,

2번 메시지를 듣는 함수에서 어떻게 해도 메시지를 듣지 않습니다.


어디가 잘못 된걸까요.

혹.. 다른 좋은 방법이나 해결책을 아시는 분 조언 부탁드립니다.
3  COMMENTS
  • Profile
    김정민 2003.04.30 18:54
    아래 답변과 같이 처리해도 달라지는게 없습니다.

    참고로 2번 문장을 그냥 델파이 폼에 작성하면

    메시지를 잘 받습니다.

    ===============================================================

    c/s 프로그램에서 웹프로그램의 자바스크립트 함수를 호출하는 기능을

    아래와 같은 순서로 작성하였습니다.


    1. c/s 프로그램에 메시지 발생 버튼을 만든다.
       SendMessage(HWND_BROADCAST, WM_COMMAND, WM_USER + 201, 0);

    2. Active Form에서 메시지 듣는 함수를 만든다.
       procedure readyForRun(var msg: TMessage); message WM_COMMAND;

    3. Active Form에서 이벤트를 발생하는 함수를 만든다.

    4. 해당 이벤트에 자바스크립트를 실행한다.


    이런 식으로 구현했는데,

    1번, 3번, 4번 함수는 잘 작동이 되는데,

    2번 메시지를 듣는 함수에서 어떻게 해도 메시지를 듣지 않습니다.


    어디가 잘못 된걸까요.

    혹.. 다른 좋은 방법이나 해결책을 아시는 분 조언 부탁드립니다.
  • Profile
    이중철 2003.04.30 07:37
    먼저 1번이 문제인것 같네요

    SendMessage(HWND_BROADCAST, WM_COMMAND, WM_USER + 201, 0);

    보낼때 폼의 핸들을 지정이 안된듯 하네요

    그런데 ActiveForm이 될수 있는것이 여러개 있어서 그와같이 한것 같은데

    될지 안될지 테스트는 안해보았는데

    SendMessage(Screen.ActiveForm.Handle , WM_COMMAND, WM_USER + 201, 0);

    이렇게해서 한번 해보세요..

    그럼 허접답변 접고 갈께요 즐코..

  • Profile
    이중철 2003.04.30 22:04
    웹환경의 ActiveForm 인줄 몰랐어요..
    이쪽 프로그램밍을 거의 안해봐서 인지를 못했네요.
    그런데 정방법을 모르겠다 싶은면(실제 제가 몰라서)
    그냥 UDP로 보내세요. <= 누가 욕할지 모르겠다 쩝...
    1번 어플에서 UDP로 특정포트에 로컬아이피로 데이타 전송하고
    2번 ActiveForm 에서 UDP로 걍 받아서 처리하면 될듯하네요.
    쩝 될듯한데 제가 원체 ActiveForm에 대해서 몰라서요.