ATL/ActiveX 에서 자바스크립트로 데이터(문자열) 보내기 | |||
| |||
음.. 보통 param 으로 엑티브X로 값을 넘겨 받아서 쓰는데요 그 반대도 궁금해서 찾아봤더니 자료가 별로 없더군요. 혹시나 해서 올립니다. 1. 클래스뷰 인터페이스항목에서 메서드를 추가합니다 2. 매개 변수 형식을 VARIANT* 로 하고 특성에 out과 retval을 설정합니다. (메서드 이름과 변수 이름은 적당히...) 3. 구현부분을 다음과 같이 합니다. STDMETHODIMP CTest::TestMethod(VARIANT* pVal) 4. 자바스크립트 추가 <script language="JavaScript">
... <OBJECT ID="Test" .... > ... <input type="button" value="문자열 받기" onClick="MyTest();">
요기서 주목할건 v_test=document.Test.TestMethod(); 이부분 입니다. 메서드 추가시 retval 항목을 선택하면 실제 리턴값은 pVal값이 됩니다. S_OK의 리턴값은 확인할수 없습니다만 ㅠ 신기한게 자바는 원래 포인터를 따로 쓰는게 아니라 가끔 원하지 않는 동작이 나더군요... (이걸 전문용어로 설명할수 없습니다 ㅠ) 예를 들어 아래 처럼 하면 에러가 납니다.
retval 항목을 끄고 document.Test.TestMethod(v_test); 라고 하면 될것 같지만 대번 에러납니다. 실력이 모자란 관계로 처음에 무척당황했습니다 -_-a 실제 디버그 해보면 STDMETHODIMP CTest::TestMethod(VARIANT* pVal) -> 이부분에서 pVal값이 NULL이 나옵니다. ㅠ 이상 허접한 팁이었습니다 ㅠ 한분에게라도 작은 도움이 되었으면 하는 바람입니다. :) Tags: JavaScript MFC WIN32 activex 윈도우즈 | |||
| |||
| |||
Login for comment |
OTHER POSTS IN THE SAME CATEGORY 웹브라우져에 붙이기 위한 ActiveX 프로그래밍 방법 |