강좌,팁

[팁:18] CVI에서 ActiveX 컨트롤 사용하는 절차

조회 수 30959 추천 수 0 2008.04.07 21:32:56
허창원 *.68.47.59



까마귀 고기를 먹었는지,
시간이 지나니까 기억이 가물가물해져서 한참 헤매다가 해결한 후,
메모를 남깁니다.


CVI에서 ActiveX 컨트롤 사용하기
    
    1. 그림 순서대로 ActiveX Controller 설정을 하고, UIR 상에 ActiveX 컨트롤을 추가합니다.
        
    2. CA_InitActiveXThreadStyleForCurrentThread() 함수를 아래와 같이 추가합니다. (테스트에 이용된 actMBSTB.ocx의 경우에는 없어도 별 문제는 없는 것 같더군요.)
      
        CA_InitActiveXThreadStyleForCurrentThread (0, COINIT_APARTMENTTHREADED);
        
    3. LoadPanel() 함수 실행 후에, 아래와 같이 ActiveX Control의 Handle을 얻어옵니다.
       (반드시 LoadPanel() 함수 후에 와야합니다. 그보다 앞에 아래의 함수를 두었다가 한참 헤맸습니다.)
    
        GetObjHandleFromActiveXCtrl (panelHandle, PANEL_ACTMBSTB, &hMBSTB);
        
    4. 이제 ActiveX에서 제공하는 함수를 위에서 얻은 Handle을 이용하여 사용합니다.


P.S.
TechForU 테크포유에서 한국전기연구원의 의뢰로 제작한 이미지센서 처리를 위한 DSP 보드(USB로 통신)의 장치드라이버를 이용하면서 정리하였습니다. DSP 등의 하드웨어 제작이 필요하시면, 테크포유를 기억해 주세요.
Tel: 02-2081-1181, E-mail: mindescape@techforu.co.kr, www.techforu.co.kr

-허창원

김기범

2008.05.09 16:09:37
*.181.106.11

조금 더 자세하게 알려주시면 안될까요? ActiveX의 핸들을 어떻게 받는것이며, 지금까지 강좌에서 알려주신것처럼 좀 자세하게요... 미리 감사드립니다..

허창원

2008.05.14 19:00:48
*.68.47.59

3번 단계에서 얻은 hMBSTB를
ActiveX 각 함수를 호출할 때 꼭 이용하게 됩니다. 예를 들어 아래와 같이 말입니다. 아래의 예는 테크포유의 actMBSTB.ocx 에 대한 예이고, 다른 ActiveX는 다른 함수들을 갖습니다.

ACTMBSTBLib__DActMBSTBopenDevice (hMBSTB, NULL, &iniset.retLong);
ACTMBSTBLib__DActMBSTBcloseDevice (hMBSTB, NULL, &iniset.retLong);
ACTMBSTBLib__DActMBSTBchkConnect (hMBSTB, NULL, &iniset.retLong);
ACTMBSTBLib__DActMBSTBtestData (hMBSTB, NULL, data, &iniset.retLong);

그럼, 좋은 하루되시기를...
List of Articles
번호 제목 글쓴이 날짜 조회 수
116 [팁] 컨트롤의 tooltips 지정하기 file 허창원 2020-05-08 389
115 멀티쓰레드 사용 시, 메모리 관련 참고사항입니다. [1] 요돌이 2017-10-24 1092
114 [팁]타이머 사용시 주의할점. file 이현화 2014-02-13 2535
113 Lable 세로쓰기 [1] 초보 2013-12-21 2668
112 [강좌:45] ini 파일 이용하기(CISManip.dll 활용) [2] 허창원 2013-05-29 3876
111 [강좌:44] ini 파일 이용하기(기본 활용) [1] 허창원 2013-05-29 5159
110 [강좌:43] Panel 크기 변경시에 컨트롤의 위치나 크기 조절하기(CISManip.dll 활용) 허창원 2013-03-12 6456
109 [강좌:42] Panel 크기 변경시에 컨트롤의 위치나 크기 조절하기(기본 활용) 허창원 2013-03-12 7072
108 [팁21] 그래프를 지우고 그릴때의 plotHandle을 구하는 방법 [1] 야리싸내 2012-05-25 7457
107 [강좌:41] Prototype 프로그램 CISDEFPROG 소개 [1] [1] 허창원 2012-01-03 8670
106 [강좌:40] CIS Project를 시작하며... [4] 허창원 2011-12-29 8429
105 ------------- 이제 새로운 지평이 열립니다 ------------- 허창원 2011-12-29 8835
104 [팁]그룹명령(고수님들은 패스~ ^^;) file [2] 이현화 2009-06-15 23113
103 [KD스타일규칙] Panel, Control, Function 에 대한 이름부여규칙 file 허창원 2008-10-15 20960
102 [팁]Elaped Time [1] 이현화 2008-10-15 26401
101 [팁:19] 시리얼 포트 모니터링(Serial Port Monitoring) 유틸리티 소개 [9] [1] 허창원 2008-05-12 95061
» [팁:18] CVI에서 ActiveX 컨트롤 사용하는 절차 file [2] 허창원 2008-04-07 30959
99 [강좌:39] 입맛대로 좀더 편리하게 배포용 설치 프로그램 만들기(CVI 8.5 이용) [1] [1] 허창원 2008-03-14 22994
98 [강좌:38] 배포용 설치 프로그램 만들기(CVI 8.5 이용) 허창원 2008-03-14 22899
97 [팁]간단한 최소화 기능개선입니다. 김민수 2007-10-05 24105