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
[23873] [질문] 웹브라우저에서 사용가능한 Floating 폼 만들기(다운로드 컴포넌트와 같은)
임문환 [] 858 읽음    2003-01-26 02:13
안녕하세요?

웹에서 프로그램을 다운받아 설치하려고 링크를 클릭하면 해당 회사에서 제공하는 다운로드 컴포넌트가 실행되어 작업을 하는 경우가 있습니다.
뭐, 이 컴포넌트를 만들겠다는 것이 아니라...
이 컴포넌트가 실행되는 걸 보면 웹브라우저 창과는 별도로 창이 돌아다닐 수 있게 되어 있습니다(floating).

C++Builder의 ActiveForm은 이렇게 안 되쟎아요.
이런 Floating Form을 어떻게 만드는지 알고 싶습니다.
ActiveForm을 이용해서 하되 Main 폼을 숨기고 새로운 폼을 띄우면 그렇게 할 수 있다는 것은 압니다만 그건 변칙이고 제대로 하려면 어떻게 해야 하나요?

참고로 아래와 같이 해보았는데 안 됩니다.
1. ActiveX Library 프로젝트를 시작
2. COM Object를 추가
3. 위 오브잭트에 CoClass를 추가
4. CoClass의 기본 인터페이스(IUnknown 상속)를 추가
5. 위 인터페이스에 TestIt 메서드를 추가(매개변수 없음)하고 Refresh
5-1. TestIt 메서드는 소스 파일에 실제로 잘 만들어져 있음
5-2. TestIt 메서드에서는 기본으로 제공되는 코드 외에는 아무 작업도 안 함
6. DLL 만들기(컴파일 및 링크)
7. 결과 dll을 서버의 일정한 장소에 복사
7-1. 수동으로 HTML 파일(아래참조)을 만들고 그 안에 Object 태그를 삽입하여 해당 DLL을 다운로드하고 초기화되게 함
(실제로 파일이 잘 다운되어 C:\WINDOWS\Downloaded Program Files 에 모셔져 있음).
(해당 dll의 DllGetClassObject도 rclsid를 3의 GUID로 하고 riid를 IClassFactory로 하여 호출됨)
(_Module.GetClassObject의 호출 결과 *ppv도 NULL이 아님)

8-2. 위의 html 내의 자바스크립트에서 5의 메서드를 호출(이 부분에서 스크립트 오류가 발생)

위의 방법이 왜 안 되는 지 알고 싶습니다.

감사합니다.

<html>
<OBJECT
      classid="clsid:3의 GUID"  
           codebase="http://localhost/someApp/해당DLL#version=1,0,0,0"
      id="testAX"
>
</OBJECT>

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

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

</html>

+ -

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