Param 태그로 값을 VB로 넘기기



1. ActiveX 컨트롤에 값을 받을 수 있는 프로퍼티를 만들어야 한다.

방법은 비주얼베이직의 ActiveX컨트롤 인터페이스 마법사를 사용하면 간단

ActiveX컨트롤 인터페이스 마법사를 사용하는 방법

(1) 추가기능에서 추가기능관리자에서 ActiveX컨트롤 인터페이스 마법사를 

추가하고 로드시킨다.

그러면 추가기능메뉴에 ActiveX컨트롤 인터페이스 마법사가 등록된다.

(2) ActiveX컨트롤 인터페이스 마법사를 실행

(3) 인터페이스 구성원 선택에서 불필요한 구성원은 모두 선택해제 한다.

필요하면 선택

(저는 모두 필요가 없어서 선택 해제했음)

(4) 사용자정의 구성원에서 추기를 클릭한다. 

그리고, 예를 들어 memid라는 속성(프로퍼티)를 추가한다. 그리고, 다음

(여기서 추가를 할때 이름이 중요 - asp에서 그대로 이름을 사용한다.)

(5) 매핑설정은 필요하면 매핑시키고, 필요없으면 건너뛴다.

여기서는 건너뛰었다.

(매핑 설정을 했어요..

제가 한 것은 string형 변수가 필요했기 때문에, text박스를 하나 만들어서 그 박스의 

text속성(text1.text)에다가 연결시켰어용)

(6) 특성설정인데 데이터형식을 지정한다.

여기서는 String을 지정하였다. 기본값은 "" 빈문자열로 하고

(7) 그리고 마침하면 아래쪽과 같은 코드가 생긴다.

이 코드는 memid라는 속성에 대한 ActiveX 컨트롤 인터페이스이다.



2. 비주얼 인터데브로 ASP페이지를 오픈하고

개발한 ActiveX컨트롤을 등록하고 페이지에 올려놓으면

화면에 ActiveX컨트롤이 보일 것임

(레지스트리에 등록되어 있으면(안돼면 regsvr32명령으로 등록을 먼저하자) 왼쪽 

Toolbox에서 오른 마우스를 누른 후 내가 만든 ocx를 등록할 수 있다.) 


3. 이 ActiveX컨트롤을 선택하고 등록정보를 보면 사용자가 작성한

프로퍼티를 확인할 수 있을 것임.

이 프로퍼티에 <  %=변수명%  > 이런 식으로 하고 웹페이지를

실행하면 값을 받을 것임.

(여기서 문제가 생기는 데, 인터데브는 .ocx파일만 전송하도록 되어있기 때문에 .cab

파일도 전송하도록 해야 한다.

그러므로 .cab파일을 만들때 생기는 .htm파일을 보면 classID가 나온 후 

"codeBase=test.CAB#version=1,0,0,0" 부분이 있다.

이걸 인터데브로 만든 파일의 classID이후 부분(.htm과 같은 위치)에 복사해서 붙여 놓는다.)



4. 그리고 값을 받은 뒤 바로 시행하게 하기 위해서는 

UserControl_Show()이벤트에 해당코드를 작성하기 바람. 

(UserControl_Show()안에서 text1.text의 값은 어느 변수에 기억 시키고 그 변수를 

가지고 작업을 하게 되면 원하는 결과를 얻을 수 있다.

간단히 msgbox로 확인을 해 보면 쉽게 제대로 작동함을 알 수 있다.)




Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]