SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

Similar documents
SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

ISP and CodeVisionAVR C Compiler.hwp

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES xframe Version Management 가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax ww

슬라이드 1

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

슬라이드 1

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES xframe 개요및아키텍처가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

어댑터뷰

슬라이드 1

Microsoft Word - src.doc

로거 자료실

API 매뉴얼

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

No

PowerPoint Template

2004 IRISPen 사용자 설명서-본문-용지크기 조정-폰트포함.PDF

제8장 자바 GUI 프로그래밍 II

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

01 3 차원가상공간의이해 학습목표 3 차원가상공간의구성원리를이해할수있다. 3 차원가상공간상에물체를스스로추가할수있다. 실습개요 3D 박스모양을추가해본다. 3차원위치개념을실습해본다. 모양의옵션을추가하는방법을실습해본다. 특수효과와재질을활용하여콘텐츠의내용을다양하게변화시켜본다

API 매뉴얼

슬라이드 1

*금안 도비라및목차1~9

슬라이드 1

歯박지원-구운몽.PDF

*금안14(10)01-도비라및목차1~12

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

Windows 8에서 BioStar 1 설치하기

reader.book

P2WW HNZ0

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

- 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager clas

UI TASK & KEY EVENT

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

CLX8380_KR.book

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

문서관리시스템 (Document Management System) 사용자매뉴얼

Interstage

Visual Basic 반복문

121220_워키디_상세설명서.indd

½Å¹®319È£

*금안 도비라및목차1~17

Microsoft PowerPoint - additional01.ppt [호환 모드]

PowerPoint 프레젠테이션

P2WW HNZ0

arcplan Enterprise 6 Charting Facelifts

슬라이드 1

JUNIT 실습및발표

[Brochure] KOR_TunA

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

C# Programming Guide - Types

슬라이드 1

PowerPoint Presentation

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

uFOCS

PowerPoint 프레젠테이션

ThinkVantage Fingerprint Software

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

토익S-채용사례리플렛0404

행자부 G4C

유니티 변수-함수.key

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

PowerPoint 프레젠테이션

EEAP - Proposal Template

Dialog Box 실행파일을 Web에 포함시키는 방법

PowerPoint 프레젠테이션

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

한국에너지기술연구원 통합정보시스템설치방법설명서 한국에너지기술연구원 지식정보실 - 1 -

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

ICAS CADWorx SPLM License 평가판설치가이드

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

FD¾ØÅÍÇÁ¶óÀÌÁî(Àå¹Ù²Þ)-ÀÛ¾÷Áß

슬라이드 1

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

윈도우시스템프로그래밍

공지사항

제 2 장 기본 사용법

CATIA-Assembly Design

- 이벤트의처리 <input type= button id= button1 value= 확인 /> <input type= button id= button2 value= 확인 /> 자바스크립트인경우 : document.getelementbyid( button1 ).oncl

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

MF3010 MF Driver Installation Guide

gnu-lee-oop-kor-lec10-1-chap10

PowerPoint 프레젠테이션

untitled

(Microsoft PowerPoint - \301\24613\260\255 - oFusion \276\300 \261\270\274\272)

<4D F736F F F696E74202D20BFC0B7F920B4EBC3B320B8DEB4BABEF328C7D8C7C7BFA1B5E029205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

C++ Programming

슬라이드 1

Transcription:

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES 2012.02.18 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone 02-2108-8030 Fax 02-2108-8031 www.softbase.co.kr Copyright 2010 SOFTBase Inc. All rights reserved

목차 1 장 : ActiveX 컴포넌트개요... 3 ActiveX 컴포넌트개요... 3 ActiveX 컴포넌트주요기능... 4 ActiveX 컴포넌트아키텍처... 5 프라퍼티아키텍처... 5 API 호출아키텍처... 6 외부컴포넌트이벤트처리아키텍처... 7 2 장 : ActiveX 컴포넌트연동... 8 ActiveX 컴포넌트내부프라퍼티... 8 ActiveX 컴포넌트 API... 10 3 장 : ActiveX 컴포넌트샘플...11 샘플개요... 11 외부컴포넌트설정... 12 ActiveX 콘트롤생성... 12 PDF Reader API... 14 외부컴포넌트 API 호출샘플화면및소스... 15 화면스크립트파일... 16-2 -

1 장 : ActiveX 컴포넌트개요 이장에서는 XFrame 에서제공하는 ActiveX 컴포넌트에대해서기술합니다. 이장에서기술하는내용은 아래와같습니다. ActiveX 컴포넌트개요 ActiveX 컴포넌트주요기능 ActiveX 컴포넌트아키텍처 ActiveX 컴포넌트개요 ActiveX 컴포넌트는 XFrame 솔루션에서제공하는컴포넌트가아닌, 외부컴포넌트를 XFrameDevStudio 에서 연동하여개발하기위한컴포넌트이다. ActiveX 컴포넌트는외부컴포넌트를 Embeding 하는기능을수행하여 XFrame 에서제공하는컴포넌트와함께화면을구성하는기능을제공한다. 예를들어외부컴포넌트는차트컴포넌트, 리포팅솔루션의 Report Viewer, PDF 파일을보기위한 PDF Viewer 컴포넌트등이있다. ActiveX 컴포넌트는아래의그림과같이, 오브젝트창에표시되어있다. - 3 -

ActiveX 컴포넌트주요기능 ActiveX 컴포넌트는다음과같은주요기능을제공한다. 외부컴포넌트 Embeding 기능 외부컴포넌트에서제공하는프라퍼티표시기능 외부컴포넌트에서제공하는 API 호출기능 외부컴포넌트에서발생하는이벤트처리기능 - 4 -

ActiveX 컴포넌트아키텍처 ActiveX 컴포넌트는아키텍처는아래의그림과같다. XFrame 화면 외부컴포넌트 ActiveX 컴포넌트 innerctrl API Property Event ActiveX 컴포넌트는내부에외부컴포넌트를연동하기위한 innerctl 이란고정된이름의내부오브젝트를 제공하여, 외부컴포넌트를연동할수있는기능을제공한다. 프라퍼티아키텍처 ActiveX 컴포넌트는아래의표와같이, ActiveX 컴포넌트에서제공하는프라퍼티와 ActiveX 컴포넌트에 Embeding 된컴포넌트에서제공하는프라퍼티로구분된다. 구분 ActiveX 내부프라퍼티외부컴포넌트프라퍼티 설명 ActiveX 컴포넌트에서제공하는기본프라퍼티를의미한다. ActiveX 컴포넌트에 Embeding된컴포넌트에무관하게동일한프라퍼티를제공한다. ActiveX 컴포넌트에 Embeding된컴포넌트에서제공하는프라퍼티를의미한다. 외부컴포넌트프라퍼티는 Embeding된컴포넌트의종류에따라다르다. 외부컴포넌트프라퍼티는 XFrameDevStudio에서화면개발시에만설정이가능하고, 실행시에외부컴퍼는트에서제공하는 API를통해서만변경가능하다. ActiveX 내부프라퍼티에대한설명은 2 장. ActiveX 컴포넌트연동 부분을참조한다. - 5 -

API 호출아키텍처 XFrame 화면내의스크립트함수에서외부컴포넌트가제공하는 API 를호출하기위해서는 ActiveX 컴포넌트의 내장오브젝트인 innerctrl 오브젝트를통해서호출된다. ActiveX 가제공하는 API 는다음과같이두가지종류의 API 로구분된다. 구분 ActiveX 내부 API 외부컴포넌트 API 설명 ActiveX 컴포넌트에서제공하는기본 API를의미한다. ActiveX 컴포넌트에 Embeding된컴포넌트에무관하게동일한 API를제공한다. ActiveX 내부 API는 XFrame내의다른컴포넌트에서제공하는 API와같이 ObjectName.API_Name 형식으로호출한다. ActiveX 컴포넌트에 Embeding된컴포넌트에서제공하는 API를의미한다. 외부컴포넌트 API는 Embeding된컴포넌트의종류에따라다르다. ActiveX 컴포넌트의내부오브젝트인 innerctrl 오브젝트를통해서호출한다. ActiveX 내부 API 에대한자세한설명은 2 장. ActiveX 컴포넌트연동 부분을참조한다. ActiveX 에서제공하는 API 는 ActiveX 내부 API 와외부컴포넌트 API 에따라호출방식의차이가있으며, 내부 구조는아래의그림과같다. XFrame 화면 스크립트함수 ActiveX 컴포넌트내부 API 호출외부컴포넌트 API 호출 API ActiveX 컴포넌트 innerctrl 외부컴포넌트 API Property Event 구분 1 2 설명 XFrame 화면의스크립트함수에서 ActiveX 콤포넌트자체에서제공하는 API를호출하면, ActiveX 컴포넌트자체의 API가호출된다. XFrame 화면의스크립트함수에서외부컴포넌트의 API를호출하기위해서 ActiveX 컴퍼넌트의내부오브젝트인 innerctrl 오브젝트를통해서함수를호출한다. 2 innerctrl 오브젝트를통해서호출된 API 는실제 Embeding 된외부컴포넌트의 API 를호출한다. - 6 -

외부컴포넌트이벤트처리아키텍처 외부컴포넌트에서제공하는이벤트를처리하기위해서는외부컴포넌트에서제공하는이벤트처리함수를 지정하여처리되며, 이벤트흐름은아래의그림과같다. XFrame 화면 외부컴포넌트 Event 처리스크립트함수스크립트로직 ActiveX 컴포넌트 innerctrl API Property Event 구분 1 설명 Embeding 된컴포넌트에서이벤트가발생하며, ActiveX 컴포넌트의내부컴포넌트인 innerctrl 에게전달된다. 2 innerctrl 내부컴포넌트는 ActiveX 컴포넌트의이벤트처리스크립트함수를호출한다. - 7 -

2 장 : ActiveX 컴포넌트연동 이장에서는 XFrame 에서제공하는 ActiveX 컴포넌트를이용하여외부컴포넌트를연동하는방법에대해서 기술합니다. 이장에서기술하는내용은아래와같습니다. ActiveX 컴포넌트내부프라퍼티 ActiveX 컴포넌트내부 API ActiveX 컴포넌트내부프라퍼티 ActiveX 컴포넌트에서제공하는내부프라퍼티는아래의표와같다. 구분이름설명 ID Position control_id name description x, y, width, height classid XFrame 화면작성시콘트롤에게자동으로지정되는화면내에서유일한식별값이다. 콘콘트롤생성될때자동으로할당되며, 개발자가임의로변경할수없다. XFrame 화면의스크립트나콘트롤의이벤트를처리하기위해서개발자가지정하는이름이다. 콘트롤에대한부가적인설명을표시하는속성이다. 오브젝트의 getdescription 함수를이용하여값을구할수있다. 각각콘트롤에대한 X 좌표, Y 좌표, 너비및크기속성이다. Embedding된컴포넌트를구별하는클래스 ID를의미한다. 컴포넌트들은다른컴포넌트들과구별되는유일한 ID를가지고있고, 이값을 Class ID를부른다. hidden XFrame 화면실행시에, ActiveX 컴포넌트를숨길지여부를지정한다. Main Prop tabstop designtime_create XFrame 화면실행시에, ActiveX 컴포넌트로탭이동을허용할지를지정한다. XFrameDevStudio를이용하여화면개발시 Embeding된컴포넌트를생성여부를지정한다. 외부컴포넌트가정상적으로동작하기위해서는여러가지환경적인부분이구성되어야컴포넌트가정상적으로동작하는경우에는반드 - 8 -

시 false 로설정해야한다. fireevent_procmode license_key version Embedding된컴포넌트에서발생하는이벤트에대한이벤트처리함수를동기식으로호출할지, 비동기식으로처리할지를지정한다. XFrameViewer는기본적으로외부컴포넌트에서발생하는이벤트를비동기로처리한다. 즉, 이벤트가발생하며, 해당이벤트에대한정보를엔진내부의이벤트 Queue에넣은이후에, 처리하는구조로되어있다. 외부컴포넌트가발생한는이벤트에파라미터로전달되는값을외부컴포넌트내부에서이벤트발생후, 최기화하는경우에, 실제 XFrame 화면의이벤트처리함수에서해당값을잘못읽는경우가있다. 이런컴포넌트에대해서는반드시 true 로설정해야한다. Embedding되는컴포넌트생성시라이센스키가필요한경우, 라이센스키값을지정한다. XFrame에서내부적으로사용하는정보이며, 개발자가변경할수없다. - 9 -

ActiveX 컴포넌트 API ActiveX 컴포넌트에서제공하는 API 는아래의표와같다. 구분 설명 getclassid ActiveX 오브젝트에설정된외부컴포넌트의 classid 속성값을구한다. getinnerctrlname ActiveX 오브젝트에설정된 classname 을가져오는 API 이다. - 10 -

3 장 : ActiveX 컴포넌트샘플 이장에서는 XFrame 에서제공하는 ActiveX 컴포넌트를이용하여외부컴포넌트를연동하는샘플에대해서 기술합니다. 이장에서기술하는내용은아래와같습니다. 샘플개요 외부컴포넌트설정 외부컴포넌트 API 호출 샘플개요 본장에서설명하는 ActiveX 샘플은 XFrame 화면내에 Adobe 사의 PDF Reader 컴포넌트를연동하여, PDF 파일을표시하는샘플을설명한다. 이장의샘플을따라하기위해서는먼저 PC 에 Adobe 사의 Acorbat Reader 가설치되어있어야한다. Acrobat Reader 프로그램은 Adobe 홈페이지 (www.adobe.com) 에서다운로드받을수있다. - 11 -

외부컴포넌트설정 ActiveX 콘트롤생성 xframe DevStudio 에서제공하는 UI 콘트롤중에아래의그림과같이 ActiveX 콘트롤을선택하여화면에 생성한다. 화면에생성한 ActiveX 콘트롤을선택하고속성창에서아래와같이 classid 항목을더블클릭한다. - 12 -

아래의그림과같이로컬시스템에등록된콘트롤중에서 Adobe PDF Reader 를선택한다. 위와같이선택하고확인버튼을클릭하면아래의그림과같이표시된다. - 13 -

PDF Reader API Adobe PDF Reader 는다음과같은 API 를제공한다. 그외의 API Adobe 사의홈페이지를참조한다. Object API 설명 PDF Reader LoadFile 로컬에저장된 PDF 파일을로드한다.. setshowtoolbar PDF Reader 의툴바를숨김처리한다.. - 14 -

외부컴포넌트 API 호출샘플화면및소스 외부컴포넌트 API 를호출하는샘플화면은아래와같은컴포넌트로구성되어있다. Object API 설명 필드 ActiveX 오브젝트버튼 fldlocalpdffilepath fldwebpdffileurl objpdfreader btnopenlocalpdffile btnopenwebpdffile 로컬 PDF 파일의경로를표시하는필드 WEB 서버에있는 PDF 파일의 URL를표시하는필드 Adobe사의 PDF Viewer를 Embeding하는 ActvieX 컴포넌트 로컬 PDF 파일의경로에해당하는파일을 PDF Viewer에표시한다. WEB 서버에있는 PDF 파일의 URL에해당하는파일을 PDF Viewer에표시한다. btnshowpdfviewertoolbar PDF Viewer 의툴바를숨긴다. btnhidepdfviewertoolbar PDF Viewer 의툴바를표시한다. 실행시의화면은아래와그림과같다. - 15 -

화면스크립트파일 화면스크립트파일의내용은아래와같고, 소스내용에대한설명은소스내의주석을참조한다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 // 로컬 PC 에있는 PDF 파일오픈버튼클릭이벤트처리 function btnopenlocalpdffile_on_mouseup(objinst) { var nret; var strlocalpdffilepath; // 로컬 PDF 파일경로 } // 로컬 PDF 파일경로필드에서값을읽어와서, 길이가 0 인경우리턴 strlocalpdffilepath = fldlocalpdffilepath.gettext(); if(strlocalpdffilepath.length == 0) { return; } // 로컬파일오픈 nret = objpdfreader.innerctrl.loadfile(strlocalpdffilepath); factory.consoleprint(nret); // PDF 파일의첫번째페이지로이동 objpdfreader.innerctrl.gotofirstpage(); return; // WEB 서버에있는 PDF 파일오픈버튼클릭이벤트처리 function btnopenwebpdffile_on_mouseup(objinst) { var strwebpdffileurl; } // WEB PDF 파일경로필드에서값을읽어와서, 길이가 0 인경우리턴 strwebpdffileurl = fldwebpdffileurl.gettext(); if(strwebpdffileurl.length == 0) { return; } // PDF Viewer 를프라퍼터를지정하여 WEB 서버에있는 PDF 파일오픈 objpdfreader.innerctrl.src = "http://localhost:8080/xadmin_dev/media/pdf.pdf"; // PDF 파일의첫번째페이지로이동 objpdfreader.innerctrl.gotofirstpage(); return; // PDF 뷰어툴바숨기기버튼클릭이벤트처리 function btnhidepdfviewertoolbar_on_mouseup(objinst) { objpdfreader.innerctrl.setshowtoolbar(false); } // PDF 뷰어툴바보이기버튼클릭이벤트처리 - 16 -

50 51 52 53 function btnshowpdfviewertoolbar_on_mouseup(objinst) { objpdfreader.innerctrl.setshowtoolbar(true); } - 17 -