Form이 포함된 DLL을 만들었습니다. 이 Form은 호출하는 Exe에서든... 이미 열린 Form
에서든 여러개를 Create합니다.
맨처음에 만들어진 Form과 호출 하는 Exe 에서 만드는 Form은
Form.Create(nil);
이미 생성한 Form에서 Create하는 Form은
Form.Create(Self);
이렇게 해서 생성 합니다.
그리고 보여지는 것은
Form.show; 라고 하고요.
그리고 해당 Form에서의 Message를 가로채기 위해
해당 폼마다
1. Active Event 에서는
OldAppMessage := Application.OnMessage;
Application.OnMessage := AppMessage;
2. DeActive 에서는
Application.OnMessage := OldAppMessage;
3. Close 에서는
Application.OnMessage := OldAppMessage;
Action := caFree;
이렇게 해줬습니다.
그런데 이상하게도...
Show; 한 Form은 위에서 Application.OnMessage := AppMessage; 이렇게 지정해준
Message에 가로채지지가 않습니다.
ShowModal; 해서 연 폼은 가로채집니다...
왜 이런 현상이 나타나는 것인지....
항상 어떤 화면에서나 메시지가 가로채지게 해야 하는데 잘 되지 않는군요...
해결 방법을 아시는 분이 계시면... 알려주시면 감사 드리겠습니다.
질문 내용이 너무 난해하게 한것인지 모르겠네요....