티스토리 뷰
요약
loadTOCNode(1, 'summary');
이 문서에서는 Visual Basic 컨트롤에서 IObjectSafety 인터페이스를 구현하여 컨트롤이 스크립팅과 초기화에 안전하다고 표시하는 방법을 설명합니다. 기본적으로 Visual Basic 컨트롤은 레지스트리의 구성 요소 범주 항목을 사용하여 컨트롤이 스크립팅과 초기화에 안전하다고 표시합니다. IObjectSafety 인터페이스를 구현하는 방법이 더 많이 사용됩니다. 이 문서에는 Visual Basic 컨트롤에서 이 인터페이스를 구현하는 데 필요한 모든 코드가 들어 있습니다.
실제로 안전한 컨트롤에 대해서만 안전하다는 표시를 해야 합니다. 이 문서에서는 컨트롤이 스크립팅과 초기화에 안전하다고 표시하는 방법을 자세히 설명하지 않고 코드에서 이를 수행하는 방법만 보여 줍니다. 이에 대한 자세한 내용은 Internet Client SDK(Software Development Kit) 설명서의 구성 요소 개발(Component Development) 절에서 "ActiveX 컨트롤에 대한 안전한 초기화 및 스크립팅(Safe Initialization and Scripting for ActiveX Controls)"을 참조하십시오.
실제로 안전한 컨트롤에 대해서만 안전하다는 표시를 해야 합니다. 이 문서에서는 컨트롤이 스크립팅과 초기화에 안전하다고 표시하는 방법을 자세히 설명하지 않고 코드에서 이를 수행하는 방법만 보여 줍니다. 이에 대한 자세한 내용은 Internet Client SDK(Software Development Kit) 설명서의 구성 요소 개발(Component Development) 절에서 "ActiveX 컨트롤에 대한 안전한 초기화 및 스크립팅(Safe Initialization and Scripting for ActiveX Controls)"을 참조하십시오.
추가 정보
loadTOCNode(1, 'moreinformation');
경고: 이 문서에서는 VarPtr, VarPtrArray, VarPtrStringArray, StrPtr 및 ObjPtr 함수 중 하나 이상에 대해 설명하지만 Microsoft 기술 지원 서비스에서는 이러한 함수를 지원하지 않습니다. 이러한 함수는 Visual Basic 설명서에서 다루지 않으며 이 기술 자료 문서에서 "있는 그대로" 제공됩니다. Microsoft는 Visual Basic의 향후 릴리스에서 이러한 함수를 사용할 수 있게 된다고 보증하지 않습니다. 이러한 함수에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
다음 단계는 간단한 Visual Basic 컨트롤을 만들고 스크립팅과 초기화에 안전하다고 표시하는 방법을 보여 줍니다.
199824 (http://support.microsoft.com/kb/199824/) Visual Basic에서 변수 주소를 가져오는 방법
다음 단계는 간단한 Visual Basic 컨트롤을 만들고 스크립팅과 초기화에 안전하다고 표시하는 방법을 보여 줍니다.
1. | 이 예제에서 만드는 모든 파일을 저장할 수 있는 새 폴더를 만듭니다. |
2. | Visual Basic 6.0 CD-ROM에서 OLE 자동화 형식 라이브러리 생성기를 가져옵니다. 이 생성기를 가져오려면 CommonToolsVBUnsupprtTyplib 폴더에 있는 네 파일을 모두 프로젝트 폴더로 복사합니다. 참고: Visual Basic 5.0의 경우 VB5.0ToolsUnsupprtTyplib 폴더에 있는 파일을 모두 복사하십시오. |
3. | 다음 텍스트를 메모장으로 복사하고 프로젝트 폴더에 Objsafe.odl이라는 이름으로 파일을 저장합니다.
[ |
4. | 명령 프롬프트에서 CD <path> 명령을 사용하여 프로젝트 폴더로 이동하고 다음 명령을 입력하여 .tlb 파일을 생성합니다. MKTYPLIB objsafe.odl /tlb objsafe.tlb |
5. | Visual Basic에서 ActiveX 컨트롤 프로젝트를 만듭니다. 속성 목록에서 프로젝트 이름을 IObjSafety로 변경하고 컨트롤 이름을 DemoCtl로 변경합니다. cmdTest라는 CommandButton을 컨트롤에 추가합니다. cmdTest의 Click 이벤트 처리기에 MsgBox "Test" 문을 추가합니다. |
6. | 프로젝트 메뉴에서 References를 누르고 앞에서 만든 Objsafe.tlb를 찾아 추가합니다. |
7. | 다음 코드를 사용하여 새 모듈을 프로젝트에 추가하고 모듈 이름을 basSafeCtl로 지정합니다.
Option Explicit |
8. | 프로젝트 속성에서 시작 개체를 Sub Main으로 변경하여 위의 Sub Main을 실행합니다. m_fSafeForScripting 및 m_fSafeForInitializing 변수를 사용하여 스크립팅과 초기화 변수에 안전한 값을 지정합니다. |
9. | 컨트롤의 코드 창을 엽니다. 다음 코드 줄을 선언 구역에서 Option Explicit 바로 다음 또는 처음에 추가합니다.
Implements IObjectSafety |
10. | 다음 두 프로시저를 컨트롤 코드에 복사합니다.
Private Sub IObjectSafety_GetInterfaceSafetyOptions(ByVal riid As _ |
11. | 파일 메뉴에서 프로젝트와 파일을 저장합니다. 프로젝트에서 OCX 파일을 만듭니다. 이제 컨트롤이 IObjectSafety 인터페이스를 구현합니다. 테스트하려면 .htm 파일에 컨트롤을 삽입합니다. |
참조
loadTOCNode(1, 'references'); MkTypLib.exe는 이전에 Microsoft Visual Studio 6.0에 포함된 Platform SDK(Software Development Kit)와 함께 제공된 오래된 도구입니다. Visual Studio 6.0에 포함된 Platform SDK를 설치하는 방법에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sdkintro/sdkintro/installing_the_platform_sdk_with_visual_studio.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sdkintro/sdkintro/installing_the_platform_sdk_with_visual_studio.asp)(영문)
최신 Platform SDK에는 MkTypLib.exe 도구가 들어 있지 않습니다. 어떤 Microsoft 제품에 형식 라이브러리 컴파일러(MkTypLib.exe)가 제공되는지에 대한 자세한 내용을 보려면 다음 Microsoft DLL 도움말 데이터베이스에서 MkTypLib.exe라는 파일 이름을 검색하십시오.
http://support.microsoft.com/dllhelp (http://support.microsoft.com/?scid=http%3a%2f%2fsupport.microsoft.com%2fservicedesks%2ffileversion%2fdllinfo.asp)
MkTypLib를 실행하는 방법에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.
http://www.microsoft.com/msj/0297/visualprog/visualprog0297.aspx (http://www.microsoft.com/msj/0297/visualprog/visualprog0297.aspx)(영문)
자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
161873 (http://support.microsoft.com/kb/161873/) HOWTO: MFC 컨트롤을 스크립트 사용에 안전(Safe for Scripting)/초기화에 안전(Safe for Initialization)으로 표시
143258 (http://support.microsoft.com/kb/143258/) 형식 라이브러리에서 상수 및 DLL 선언을 만드는 방법
131105 (http://support.microsoft.com/kb/131105/) 샘플: TYPEBLD: ICreateTypeLib 및 ICreateTypeInfo를 사용하는 방법
IObjectSafety 인터페이스에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.
http://msdn.microsoft.com/workshop/components/com/reference/ifaces/iobjectsafety/iobjectsafety.asp (http://msdn.microsoft.com/workshop/components/com/reference/ifaces/iobjectsafety/iobjectsafety.asp)(영문)
ActiveX 컨트롤의 초기화 및 스크립팅 안전에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.
http://msdn.microsoft.com/workshop/components/activex/safety.asp (http://msdn.microsoft.com/workshop/components/activex/safety.asp)(영문)
Microsoft Internet Explorer용 웹 기반 솔루션 개발에 대한 자세한 내용을 보려면 다음 Microsoft 웹 사이트를 방문하십시오.
http://www.microsoft.com/korea/msdn/ie/ (http://www.microsoft.com/korea/msdn/ie/)
http://support.microsoft.com/iep (http://support.microsoft.com/iep)(영문)
http://support.microsoft.com/iep (http://support.microsoft.com/iep)(영문)
'Application > Win32' 카테고리의 다른 글
Optimizing Vista (0) | 2008.02.09 |
---|---|
인증서없는 ActiveX 설치하기 (2) | 2008.02.02 |
다중파일업로드 ActiveX 컨트롤 - JoyUpload 1.0.0.3 (1) | 2008.02.02 |
ActiveX 배포관련 QNA (0) | 2008.01.29 |
알아두면 매우 유용할 윈도우의 각종 프로세스 정보 (0) | 2008.01.28 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 막장로그
- Tech News
- Battle
- wallpaper
- Life News
- humor
- diary
- WDB
- Assembly
- network
- 짤방 및 아이콘
- BadCode
- win32
- 3D Engine
- Mabinogi
- C#
- 프리랜서로 살아남는 법
- Military
- Reverse Engineering
- Information Processor
- console
- 나비효과
- USB Lecture
- 야마꼬툰
- cartoon
- Network Inspector
- medical
- Linux
- Web Programming
- Embedded System
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함