C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[23909] [자답] ActiveX Floating Form 만들기
임문환 [mhlim] 1170 읽음    2003-01-27 20:47
잘못된 곳이 있을 수도 있지만 아래와 같이 하면 되는군요.

ActiveX Floating Form 만들기

1. ActiveX Library Project를 시작( [File]->[New]->[ActiveX]->ActiveX Library )
1-1. Project 옵션의 Application 탭의 Target File Extension을 ocx로 지정.
     Version Info 탭의 Include Version Information In Project를 채크 표시
     그 안의 DLL을 채크 표시
1-2. 해당 프로젝트를 원하는 이름으로 저장(이름을 MyActiveX라 하자)
2. Type Library Editor를 띄움([View]->[Type Library])
3. 해당 타입라이브러리의 이름(MyActiveX)이 있는 노드를 클릭한 후 오른쪽 창의 Flags 탭을 선택하고 'Control'을 채크 표시
4. 새 인터페이스를 추가(이름을 MyInterface라 하자)
4-1. 이 인터페이스의 parent interface는 IDispatch여야 함
4-2. 이 인터페이스의 Flags탭에서 Dual과 Ole Automation만 채크되어 있어야 함
4-3. 이 인터페이스에 각종 함수 등을 추가(이 중 한 함수를 매개변수가 없는 MyMethod로 하자)
5. [Register Type Library] 아이콘을 클릭
6. 프로젝트 다시 저장
7. 새 COM Object를 추가( [File]->[New]->[ActiveX]->COM Object)
  이 때 마법사 창이 뜨는데 여기서
  'CoClass Name'에 원하는 이름을 넣고(MyCoClass라 하자)
  'Implemented Interface' 항목 옆의 [List]단추를 클릭한 후
  창이 뜨면 [Add Library] 단추를 선택하여 지금 하고 있는 프로젝트의 타입라이브러리 파일이름을 선택하고 [OK]를 선택
  그러면 Interface Select Wizard 창의 interface 란에 4의 인터페이스가 있으니 그 걸 선택하고 [OK]를 선택
8. 타입라이브러리 편집기를 띄워서
   방금 추가한 CoClass(MyCoClass)의 디폴트 인퍼페이스가 4의 인터페이스인지 확인.
   이 CoClass의 Flags 탭을 선택한 후 'Can Create'가 채크되어 있는지 확인하고 Control을 채크 표시
   한편 이 CoClass의 Attributes 탭의 Help String 항목이 클라이언트 컴퓨터에 저장될 때 파일이름으로 사용됨(보통 저장위치는 C:\WINDOWS\Downloaded Program Files).
9. 프로젝트에 새 폼을 추가(이름을 MainForm이라 하자)
10. ...Impl.cpp 파일을 열어보면 4의 인터페이스에 추가한 함수 등이 있으니 여기에 하고 싶은 작업에 해당하는 코딩을 함
특히 Floating 폼을 만든다고 했으니 9항의 폼의 인스턴스를 생성하고 보여주고 등을 여기에 코딩하면 됨

11. 프로젝트 빌드
12. 웹에  배포
먼저 위 프로젝트의 결과 OCX 파일을 서버의 웹에서 액세스 가능한 장소에 복사한 후.
HTML 파일에 다음과 같이 코딩.

<OBJECT
      classid="clsid:위 타입라이브러리의 MyCoClass의 GUID"   
      codebase="위 OCX 파일의 URL#version=1,0,0,0"
      id="myAX"
>
</OBJECT>

<script language=javascript>
<!--
function Test ()
{
myAX. MyMethod ();
}
//-->
</script>

<input type=button value="Test" onClick="Test();">


+ -

관련 글 리스트
23873 [질문] 웹브라우저에서 사용가능한 Floating 폼 만들기(다운로드 컴포넌트와 같은) 임문환 859 2003/01/26
23909     [자답] ActiveX Floating Form 만들기 임문환 1170 2003/01/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.