(연관된 글이 1개 있습니다.)
프로그램이란 것을 하다 보면,
때로는 지극히 당연히, 아니란 듯이, 정말 그런 것처럼... 생각하고 실수를 저지르고 마는 경우가 있습니다. ^^;
오랜만에 IPersistPropertyBag 인터페이스를 구현해서 <OBJECT/> 태그 안에 <PARAM/> 태그를 넣어서 값을 받으려는 코드를 했는데.
우선, HTML 페이지 안에다가...
<OBJECT ...>
<PARAM NAME="key" VALUE="value">
</OBJECT>
라고 해놓고, IPersistPropertyBag::Load 메서드 안에서 당당하게 MessageBox 테스트를 해보았는데.
오랜만이라 그런지,,, ^^; 메시지 박스가 출력이 안되는 현상이 발생했습니다.
그러니까, Load 메서드 자체가 실행이 안되는 것이죠.
음,, COM_INTERFACE_ENTRY에도 정의해주었는데... 혹시 내가 만든 프로그램이 Active Document라서 그쪽 관련한 특정 인터페이스가 선행되어서 그 이후의 IPersistPropertyBag와 같은 인터페이스 유는 QI하지 않는 것인가 싶어서... 정말, 열심히 "연구"하기 시작했습니다.
물론, 하다하다 지쳤지요. 그러다가... 게슴츠레해진 눈으로... HTML 페이지를 아무 생각 없이 쳐다보았습니다.
잠시 후, ^^; 해당 페이지에는 OBJECT를 2개 포함하고 있었다는 사실과, 내가 테스트 하는 코드에 <PARAM/>을 넣은 것이 아니고, 엉뚱한 <OBJECT/>에 <PARAM/>을 넣었다는 것을 알게 되었습니다.
정말이지... 프로그램하다 보면... 이렇게 아무 일도 아닌 것에 ... 시간을 뺏기는 일이 종종 있습니다. ^^;
[연관 글]