MiPlatform Architectures Guide 입니다.
아래 주소를 클릭하여 해당 자료를 다운로드 받을 수 있습니다.
http://www.miplatform.co.kr/faq/data/docs/ArchitecturesGuide_ver1.0-20070701.doc
Miplatform 디자인교육작업시 참고문서입니다.
아래 주소를 클릭하여 해당 자료를 다운로드 받을 수 있습니다.
http://www.miplatform.co.kr/faq/data/docs/20120629_161743146_MiplatformDesign.zip
Service Layout 연동
UI 개발시 화면에 서비스 목록과 서비스의 Input/Output 정보(서비스 리스트와 Dataset의 헤더정보)를 미리 가져와 빠르고 편리하게 데이터 바인딩을 구현하기 위한 개발 툴의 특징적인 기능입니다.
MiPlatform PID에서 연동
Service Layout
Service List의 전문은 MiPlatform server api를 사용하여 생성하고, In/Out Dataset Layout 전문의 경우 server api를 사용하지 못하고 별도 xml전문을 생성해야 합니다. (샘플파일 DefaultService.java 파일 참조)
Service List 및 In/Out Dataset Layout 조회 서비스 설정
MiPlatform에서 해당 기능을 사용하기 위해서는 해당 기능을 하기 위한 파일이 Servlet으로 작성되어야 하며, PID에서 default_service를 호출하도록 되어 있으므로 WEB-INF폴더의 web.xml 파일에 servlet-name을 default_service로 servlet mapping을 해야 합니다.
ex) <servlet> <servlet-name>default_service</servlet-name> <servlet-class>mi.DefaultService</servlet-class> </servlet> <servlet-mapping> <servlet-name>default_service</servlet-name> <url-pattern>/servlet/default_service</url-pattern> </servlet-mapping>
default_service 호출 시 Parameter 정보
- service_id : Service List 와 In/Out Dataset Layout 구분 target : 선택한 Service명을 보냄 - Service List 조회 시 default_service?service_id=dbm_svc_get_svclist로 호출됨 - In/Out Dataset Layout 조회 시 default_service?service_id=dbm_get_iolayout&target=testService로 호출됨 target 변수에 선택한 Service명을 보냄
Service List Layout
Service 목록을 가져올 때 전문 Layout
<?xml version="1.0" encoding="utf-8"?> <root> <params> <param id="ErrorMsg" type="STRING">조회 성공</param> <param id="ErrorCode" type="INTEGER">0</param> </params> <dataset id="output"> <colinfo id="name" size="255" type="STRING"/> <record> <name>testService</name> </record> </dataset> </root>
In/Out Dataset Layout
- Element 정보 class2 : 선택한 서비스의 상세정보 Layout의 시작 dataset : 해당 서비스의 In/Out Dataset 정보 io properties 값에 따라 In/Out Dataset을 구분합니다. - 선택한 서비스에 대한 In/Out Dataset 정보를 가져올 때 전문 Layout
<?xml version='1.0' encoding='euc-kr'?> <class2> <dataset id='ds_input' io='input'> <colinfo id='col01' type='INT' size='100'/> <colinfo id='col02' type='STRING' size='100'/> <colinfo id='col03' type='STRING' size='100'/> </dataset> <dataset id='COLUM_TEST' io='output'> <colinfo id='TEST1' type='DECIMAL' size='22'/> <colinfo id='TEST2' type='STRING' size='1000'/> <colinfo id='TEST3' type='DATE' size='7'/> <colinfo id='TEST5' type='STRING' size='20'/> </dataset> </class2>
PID 설정
DataGroups 추가
default_service를 제외한 경로 ex) http://localhost:8088/mi/servlet/default_service 에서 http://localhost:8088/mi/servlet/ 까지만 등록
default_service 조회
default_service는 추가한 DataGroup의 Base URL에 default_service를 자동으로 추가해 조회합니다. 추가한 DataGroup을 reload(F8키) 하여 서비스 조회
화면 form간 연동
조회된 서비스의 데이터셋을 form의 component 또는 form의 Dataset탭으로 drag&drop하여 데이터셋 레이아웃을 복사하여 사용
XPLATFORM UXStudio에서 연동
Service Layout
XPLATFORM의 경우 Service Layout을 별도로 만들 필요 없이 XPLATFORM의 server api를 사용해 전문을 생성하면 됩니다.(샘플파일 serviceList.jsp, serviceDetail.jsp 파일 참조)
Service List Layout
Service 목록을 가져올 때 전문 Layout
<?xml version="1.0" encoding="utf-8"?> <Root xmlns="http://www.tobesoft.com/platform/dataset" ver="5000"> <Parameters> <Parameter id="ErrorCode" type="int">0</Parameter> <Parameter id="ErrorMsg" type="string">조회 성공</Parameter> </Parameters> <Dataset id="output"> <ColumnInfo> <Column id="DOMAIN" type="string" size="255"/> <Column id="MODEL" type="string" size="255"/> <Column id="DESCRIPTION" type="string" size="255"/> <Column id="DATASOURCE" type="string" size="255"/> </ColumnInfo> <Rows> <Row> <Col id="DOMAIN">testDomain</Col> <Col id="MODEL">testService</Col> <Col id="DESCRIPTION"></Col> <Col id="DATASOURCE">DB</Col> </Row> </Rows> </Dataset> </Root>
In/Out Dataset Layout
선택한 서비스에 대한 In/Out Dataset 정보를 가져올 때 전문 Layout
<?xml version="1.0" encoding="utf-8"?> <Root xmlns="http://www.tobesoft.com/platform/dataset" ver="5000"> <Parameters> <Parameter id="ErrorCode" type="int">0</Parameter> <Parameter id="ErrorMsg" type="string">조회 성공</Parameter> </Parameters> <Dataset id="input"> <ColumnInfo> <Column id="NAME" type="string" size="255"/> <Column id="TYPE" type="string" size="255"/> <Column id="SIZE" type="string" size="255"/> <Column id="ALIAS" type="string" size="255"/> <Column id="DESCRIPTION" type="string" size="255"/> <Column id="DEFAULT" type="string" size="255"/> </ColumnInfo> <Rows> <Row> <Col id="NAME">ds_input</Col> <Col id="TYPE">DataSet</Col> </Row> </Rows> </Dataset> <Dataset id="ds_input"> <ColumnInfo> <Column id="col01" type="string" size="100"/> <Column id="col02" type="string" size="100"/> <Column id="col03" type="string" size="100"/> </ColumnInfo> <Rows> </Rows> </Dataset> <Dataset id="output"> <ColumnInfo> <Column id="NAME" type="string" size="255"/> <Column id="TYPE" type="string" size="255"/> <Column id="SIZE" type="string" size="255"/> <Column id="ALIAS" type="string" size="255"/> <Column id="DESCRIPTION" type="string" size="255"/> <Column id="DEFAULT" type="string" size="255"/> </ColumnInfo> <Rows> <Row> <Col id="NAME">ds_output</Col> <Col id="TYPE">DataSet</Col> </Row> </Rows> </Dataset> <Dataset id="ds_output"> <ColumnInfo> <Column id="TEST1" type="bigdecimal" size="22"/> <Column id="TEST2" type="string" size="1000"/> <Column id="TEST3" type="date" size="7"/> <Column id="TEST5" type="string" size="20"/> </ColumnInfo> <Rows> </Rows> </Dataset> </Root>
UXStudio 설정
TypeDefinition 설정
Edit TypeDefinition에서 Services탭에 Add버튼으로 서비스 추가 하여 아래 그림과 같이 필수 값 지정 Service List와 In/Out Dataset Layout정보를 조회하는 서비스를 등록
Service List와 In/Out Dataset Layout 조회
등록된 서비스에서 Refresh하여 조회합니다.
화면 form간 연동
조회된 서비스의 데이터셋을 form의 component 또는 form의 Invisible Objects창으로 drag&drop하여 데이터셋 레이아웃을 복사하여 사용
REPORT연동
Report Designer
RD 연동 for XPLATFORM
RD 설치
RD viewer를 설치한다. 설치에 필요한 파일은 해당업체를 통해서 제공받는다. 이번 예제는 RD 5.0을 기준으로 작성되었다.
프로그램 추가/제거 에서 설치된 프로그램 확인
화면에 Viewer 구성하기
ActiveX를 화면에 그린 후 progid를 설치된 RD Viewer로 지정한다.
Report Designer 5.0 control를 선택한 후 Insert버튼을 클릭한다.
Script 코딩
Report Designer로 만든 mrd파일의 fullpath를 지정한다. fnRdFileOpen함수를 호출한다.
function btn_report_onclick(obj:Button, e:ClickEventInfo) { var sMrdPath = "D:\\rdtest.mrd"; var sParams = ""; fnRdFileOpen( atx_RD, sMrdPath, sParams, "dsPrint"); }
RD Viewer의 Property를 알맞게 설정한다. Dataset의 내용을 RD에 알맞은 문자열로 변환하고 오픈한다.
function fnRdFileOpen( rdObj, strRdPath, strValue, dsName) { if (strValue == null || strValue == "") { strValue = ""; } // RDViewer Set atx_RD.AutoAdjust = false; // 자동조정 유/무 (ZoomRatio 사용하려면 반드시 false Setting) atx_RD.ZoomRatio = 100; // 배율 atx_RD.SetMessageboxShow(0); // 메세지창 출력안함. var extComapi = new ExtCommon(); var strRdxml = ""; strRdxml = extComapi.ds2mp_SaveXml(dsName); atx_RD.SetRData(strRdxml); // DataSet 설정(XML 문자열) atx_RD.FileOpen(strRdPath, "/rv " + strValue); // 보고서 CALL // 에러처리 if(atx_RD.IsError() == true) { alert(atx_RD.GetLastErrorMsg()); return; } }
XPLATFORM 데이타를 RD로 넘겨주기 위해 extCommon API에서 제공되는 함수를 사용
예)
extComapi.ds2mp_SaveXml(dsName);
관련소스
RD 연동 for MiPlatform
RD 설치
RD viewer를 설치한다. 설치에 필요한 파일은 해당업체를 통해서 제공받는다. 이번 예제는 RD 5.0을 기준으로 작성되었다.
프로그램 추가/제거 에서 설치된 프로그램 확인
Component 등록
Tolls > Project Manager > Project Manager를 오픈한다. Components탭 선택 > +버튼 클릭 > Active X Controls 탭 클릭 > RD Viewer선택
화면구성
Report 컴포넌트 선택 한 후 화면에 그린다. 프로퍼티중 progID 값을 확인한다.
스크립트 코딩
Report Designer로 만든 mrd파일의 fullpath를 지정한다. RD Viewer의 Property를 알맞게 설정한다. Dataset의 내용을 RD에 알맞은 문자열로 변환하고 오픈한다.
var strRdPath = "D:\\rdtest.mrd"; var strValue = ""; // RDViewer Set Report0.AutoAdjust = false; // 자동조정 유/무 (ZoomRatio 사용하려면 반드시 false Setting) Report0.ZoomRatio = 100; // 배율 Report0.SetMessageboxShow(0); // 메세지창 출력안함. var strRdxml = ""; strRdxml = dsPrint.SaveXML(); Report0.SetRData(strRdxml); // DataSet 설정(XML 문자열) Report0.FileOpen(strRdPath, "/rv " + strValue); // 보고서 CALL
관련소스
Rexpert
Rexpert 연동 for XPLATFORM
Rexpert 프로그램을 설치한다. 해당 프로그램은 업체를 통해서 지원받아 사용합니다. 연동에 사용된 제품은 Rexpert 3.0을 기준으로 작성되었습니다.
화면구성
ActiveX를 화면에 그린 후 progid를 설치된 Rexpert Viewer로 지정한다.
ClipSoft Rexpert Viewer Control 3.0를 선택한 후 Insert버튼을 클릭한다.
스크립트 작성
var dsxml = ""; dsxml = fn_ds2mp(ds_report); <중간생략> strxml += sDsXml; strxml += "</Datasets>"; var sRebPath = "D:\\TCC0301R02_30.reb"; var sData = ""; <중간생략> sData = sData + "<file-list><file type='reb' path='"+sRebPath+"'></file>"; sData = sData + "</file-list>"; <중간생략> //데이타셋받아서 처리 sData = sData + strxml; <중간생략> //parameter 넣는 부분......... sData = sData + "<field name='CNRT_NM'>2011년 테스트공사 제목입니다.</field>"; <중간생략> sData = sData + "</oof>"; rptObj.OpenOOF(sData);
관련소스
Rexpert 연동 for MiPlatform
Rexpert 설치
Component 등록구성
Tolls > Project Manager > Project Manager를 오픈한다. Components탭 선택 > +버튼 클릭 > Active X Controls 탭 클릭 > ClipSoft Report Viewer Control 3.0 Viewer선택
화면구성
Report 컴포넌트(ID: ClipSoft) 선택 한 후 화면에 그린다. 프로퍼티중 progID 값을 확인한다.
스크립트 작성
var dsxml = ""; dsxml = ds_report.SaveXML(); <중간생략> strxml += sDsXml; var sRebPath = "D:\\TCC0301R02_30.reb"; var sData = ""; <중간생략> sData = sData + "<file-list><file type='reb' path='"+sRebPath+"'></file>"; <중간생략> //parameter 넣는 부분......... sData = sData + "<field name='CNRT_NM'>2011년 테스트공사 제목입니다.</field>"; <중간생략> sData = sData + "</oof>"; rptObj.OpenOOF(sData);
관련소스
UbiReport
UbiReport 연동 for XPlatform
UbiReport 설치
UbiReport에서 제공한 모듈을 레지스트리에 등록한다. 윈도우 cmd창에서 regsvr32 입력 후 UbiViewerX.ocx경로를 입력한다. (이 샘플은 UbiViwerX 2.5버전을 기준임.)
화면에 Viewer 구성하기
스크립트 작성
<중략> var setJrfFileDir = "D:\\Sample\\"; //jrf파일의 경로(local테스트용) var setJrfFileName = "sample.jrf"; //파일명 var setArg= "branName#사당점#recpNo#20110303"; //형태 argID1#val1#argID2#val2 <중략> ActiveX00.setJrfFileDir(setJrfFileDir); ActiveX00.setJrfFileName(setJrfFileName); ActiveX00.SetDatasetXML(SetDataset1,Gds_FilterBran.saveXML("normal")); ActiveX00.SetDatasetXML(SetDataset3,gdsCommList.saveXML("normal")); ActiveX00.Retrieve();
관련소스
UbiReport 연동 for MiPlatform
UbiReport 설치
UbiReport에서 제공한 모듈을 레지스트리에 등록한다. 윈도우 cmd창에서 regsvr32 입력 후 UbiViewerX.ocx경로를 입력한다. (이 샘플은 UbiViwerX 2.5버전을 기준임.)
CyAxUbiReport.dll(Ansi버전) , CyAxUbiReportU.dll(Unicode버전) 중 하나를 컴포넌트 폴더에 복사한다. (http://www.miplatform.co.kr > 다운로드> MiPlatform > Setup에서 다운로드)
Component 등록구성
Tools > Project Manager > Project Manager를 오픈한다. Components탭 선택 > +버튼 클릭 > Wrapped Component 탭 클릭 > Module Name에 CyAxUbiReport(U).dll 선택 > ID, Tooltip 입력
화면에 Viewer 구성하기
스크립트 작성
<중략> var setJrfFileDir = "D:\\Sample\\"; //jrf파일의 경로(local테스트용) var setJrfFileName = "sample.jrf"; //파일명 var setArg= "branName#사당점#recpNo#20110303"; //형태 argID1#val1#argID2#val2 <중략> ubiReport0.setJrfFileDir(setJrfFileDir); ubiReport0.setJrfFileName(setJrfFileName); ubiReport0.SetDataset(SetDataset1, SetDataset2); ubiReport0.SetDataset(SetDataset3, SetDataset4); ubiReport0.Retrieve();
관련소스
ozReport
ozReport 연동 for XPlatform
ozReport 설치
ozReport 프로그램을 설치한다. 해당 프로그램은 업체를 통해서 지원받아 사용합니다. (ozReport Viewer 3.5을 기준으로 작성.)
화면에 Viewer 구성하기
스크립트 작성
var sParam = "connection.servlet=http://localhost/ozserver/server" +String.fromCharCode(10); sParam += "connection.reportname=sample.ozr"+String.fromCharCode(10); sParam += "viewer.configmode=html"+String.fromCharCode(10); sParam += "odi.odinames=sample"+String.fromCharCode(10); OZAViewerOCX.CreateReport(sParam);
ozReport server 구성 필요.
관련소스
ozReport 연동 for MiPlatform
ozReport 설치
ozReport 프로그램을 설치한다. 해당 프로그램은 업체를 통해서 지원받아 사용합니다. (ozReport Viewer 3.5을 기준으로 작성.)
Component 등록구성
Tools > Project Manager > Project Manager를 오픈한다. Components탭 선택 > +버튼 클릭 > Active X Controls 탭 클릭 > OZAViewerOCX Control 선택
화면에 Viewer 구성하기
스크립트 작성
var sParam = "connection.servlet=http://localhost/ozserver/server"+chr(10); sParam += "connection.reportname=sample.ozr"+chr(10); sParam += "viewer.configmode=html"+chr(10); sParam += "odi.odinames=sample"+chr(10); OZAViewerOCX.CreateReport(sParam);
ozReport server 구성 필요.
관련소스
화면보호기
주의) 해당모듈을 사용하기 전에 ㈜투비소프트에 문의 하시기 바랍니다.
(사용에 대한 별도의 비용이 청구될 수 있습니다)
해당 모듈을 사용하기 위해서는 투비소프트 고객지원센터에서 받을 수 있습니다.
MiPlatform
정의
키보드, 마우스 또는 기타 입력 장치로부터 입력된 마지막 시간을 검사하고 더 이상 입력 장치장치로부터 입력이 없는 상태에대하여 일정한 지연시간을 설정하여 원하는 순간(입력장치로부터 설정한 지연시간만큼 입력이 없을 때)에 이벤트를 발생시킨다
적용
1) 특정화면에서 작업중에 예기치 않은 일로 자리를 비울 경우 일정시간 경과 후 입력장치로부터 입력이 없으면 로그아웃 화면을 호출 2) 입력장치로부터 일정 시간 동안 입력이 없을 때 특정 화면을 호출 하거나 스크린세이버, 혹은 윈도우 종료..등 기타 개발자가 원하는 화면을 호출
인터페이스
속성
DelayInputTime
지연시간 – 초단위로 설정. Default 값은 20초
Ex) LastInput0.DelayInputTime = 60; //입력 장치에 의한 입력이 없을 경우 60초(1분)후에 이벤트를 발생시킴
메소드
ExeScreenSaver
현재 설정되어 있는 화면보호기를 기동합니다
Ex) LastInput0. ExeScreenSaver();
RunDelayInputTime(BOOLRunning)
이벤트 발생을 on/off 합니다 현재 설정된 지연시간(DelayInputTime)이 0보다 작거나 같으면 발생하지 않음 LastInput0.RunDelayInputTime(true); //해당시간에 이벤트를 발생시킴 LastInput0.RunDelayInputTime(false); //더이상 이벤트를 발생시키지 않음
이벤트
OnLastInputTime()
//RunDelayInputTime(true) 일때 //DelayInputTime(지연시간)에 따라 장치 입력이 없다면 이벤트 발생
설치방법
파일복사
– Miplatform 310L 320 330의 지정된 경로 CyLastInput.dll 파일을버전에 맞게 복사
해당 모듈을 Support->MiPlatform-Tip">Support->MiPlatform-Tip">www.miplatform.co.kr->Support->MiPlatform-Tip
게시판에 최신버전 제공
해당 컴포넌트는 컴포넌트 폴더에 복사를 해 주어야 하며,
사용하는 PID의 버전과 일지하는 버전을 사용해야 합니다.
환경설정
- PID 실행한다 메뉴에서 Tool->ProjectManager를 실행한다 Components 탭을 선택하고 Wrapped Component에서 CyLastInput를 선택하고 Insert
사용법
1) 설치 후 해당 폼에 컴포넌트를 툴에서 추가한다 (LastInput을 추가하면 된다) 2) 이벤트 스크립트 작성(이벤트)
EX) function LastInput0_OnLastInputTime(obj) { LastInput0.RunDelayInputTime(false); LastInput0.ExeScreenSaver(); }
3) 실행 스크립트 작성(버튼 클릭)
EX) function Button00_onclick(obj:Button, e:ClickEventInfo) { LastInput0.DelayInputTime = 5; LastInput0.RunDelayInputTime(true); }
사용 예) <?xml version="1.0" encoding="utf-8"?> <Window> <Form Height="535" Id="ScreenSaver" Left="8" PidAttrib="7" Title="ScreenSaver" TooltipFont="Default,0" Top="8" Ver="1.0" Width="800" WorkArea="true"> <Button Height="21" Id="Button0" Left="24" OnClick="Button0_OnClick" TabOrder="2" Text="스크린세이버" Top="80" Width="104"></Button> <Button Height="21" Id="Button1" Left="160" OnClick="Button1_OnClick" TabOrder="1" Text="지연시간 5" Top="160" Width="104"></Button> <Button Height="21" Id="Button2" Left="24" OnClick="Button2_OnClick" TabOrder="2" Text="이벤트발생 TRUE" Top="184" Width="104"></Button> <Button Height="21" Id="Button3" Left="24" OnClick="Button3_OnClick" TabOrder="3" Text="지연시간 10" Top="160" Width="104"></Button> <Button Height="21" Id="Button4" Left="160" OnClick="Button4_OnClick" TabOrder="4" Text="이벤트발생 FALSE" Top="184" Width="104"></Button> <CyLastInputU DelayInputTime="5" Height="24" Id="CyLastInputU0" Left="26" OnLastInputTime="CyLastInputU0_OnLastInputTime" Top="40" Width="24"></CyLastInputU> <Button Height="21" Id="Button5" Left="24" OnClick="Button5_OnClick" TabOrder="6" Text="현재지연시간(초)" Top="240" Width="104"></Button> </Form> <Script><![CDATA[ function Button0_OnClick(obj) { CyLastInputU0.ExeScreenSaver(); } function Button1_OnClick(obj) { CyLastInputU0.DelayInputTime = 5; } function Button2_OnClick(obj) { CyLastInputU0.RunDelayInputTime(true); } function Button3_OnClick(obj) { CyLastInputU0.DelayInputTime = 10; } function Button4_OnClick(obj) { CyLastInputU0.RunDelayInputTime(false); } function CyLastInputU0_OnLastInputTime(obj) { //TRACE(CyLastInputU0.DelayInputTime + "초에 " + "이벤트 발생"); CyLastInputU0.ExeScreenSaver(); CyLastInputU0.RunDelayInputTime(false); } function Button5_OnClick(obj) { TRACE(CyLastInputU0.DelayInputTime); } ]]></Script> </Window>
시스템에서 제공하는 타이머를 사용합니다
시스템에 타이머 이벤튼 일반적으로 우선순위 가장 낮은 윈도우 메시지입니다
간혹 CPU가 너무 바쁘거나 시스템에 메시지가 많이 차 있는 경우에 이벤트가 늦게 발생
하거나 전혀 발생되지 못하는 경우도 발생 할 수 있습니다.
(즉, 멀티미디어 동영상 인코딩 작업시 타이머 이벤트가 정상적으로 발생할 수 있을까요?)
이것은 버그가 아니며 OS(시스템) 그렇게 구동되고 있기 때문, 다른 모든 어플리케이션도
그렇게 동작하고 있습니다.
* 만약 위의 현상이 일어나는 경우 신고 부탁 드립니다.
XPLATFORM
XPLATFORM9.1 : 파일버전 - 2012.4.18.1 SDK ver. 2012.4.12.1(9.1.1.205) XPLATFORM9.2 : 파일버전 - 2012.4.18.1 SDK ver. 2012.4.12.1(9.2.0.46) - 상위 또는 하위 버전 호환에 문제가 있을 수 있습니다.
파일 XP 9.1/9.2용 모듈 구별방법
파일의 등록정보에서설명, 제품이름 등에서 차이점 확인
정의
키보드, 마우스 또는 기타 입력 장치로부터 입력된 마지막 시간을 검사하고 더 이상 입력 장치장치로부터 입력이 없는 상태에 대하여 일정한 지연시간을 설정하여 원하는 순간(입력장치로부터 설정한 지연시간만큼 입력이 없을 때)에 이벤트를 발생시킨다
적용
1) 특정화면에서 작업중에 예기치 않은 일로 자리를 비울 경우 일정시간 경과 후 입력장치로부터 입력이 없으면 로그아웃 화면을 호출 2) 입력장치로부터 일정 시간 동안 입력이 없을 때 특정 화면을 호출 하거나 스크린세이버, 혹은 윈도우 종료..등 기타 개발자가 원하는 화면을 호출
인터페이스
속성
DelayInputTime
지연시간 – 초단위로 설정. Default 값은 20초
Ex) LastInput0.DelayInputTime = 60;
메소드
ExeScreenSaver()
현재 설정되어 있는 화면보호기를 기동합니다
Ex) LastInput0. ExeScreenSaver();
RunDelayInputTime(BOOLRunning)
이벤트 발생을 on/off 합니다 현재 설정된 지연시간(DelayInputTime)이 0보다 작거나 같으면 발생하지 않음 LastInput0.RunDelayInputTime(true); //해당시간에 이벤트를 발생시킴 LastInput0.RunDelayInputTime(false); //더이상 이벤트를 발생시키지 않음
이벤트
OnLastInputTime()
//RunDelayInputTime(true) 일때 //DelayInputTime(지연시간)에 따라 장치 입력이 없다면 이벤트 발생
설치방법
파일복사 - XPLATFORM9.1/9.2 지정된 경로 XLastInput.dll 파일을 버전에 맞게 복사 환경설정 - UXStudio(92.).exe에서 TypeDefinition에 추가 Type: Bin, ID: LastInput, ClassName : LastInput, Module: XLastInput
사용방법
1) 설치 후 글로벌 변수에 오브젝트를 추가합니다. (LastInput을 추가하면 된다) 2) 이벤트 스크립트 작성(이벤트)
EX) function LastInput_0_OnLastInputTime(obj:LastInput, e:EventInfo) { LastInput_0.RunDelayInputTime(false); LastInput_0.ExeScreenSaver(); }
3) 실행 스크립트 작성(버튼 클릭)
EX) function Button00_onclick(obj:Button, e:ClickEventInfo) { LastInput_0.DelayInputTime = 5; LastInput_0.RunDelayInputTime(true); }
1) MiPlatform에서 기술지원 2팀에서 개발한 CyLastInput 컴포넌트와 동일한 기능을
제공하는 XPLATFORM 컴포넌트입니다
2) 시스템에서 제공하는 타이머를 사용합니다
시스템에 타이머 이벤튼 일반적으로 우선순위 가장 낮은 윈도우 메시지입니다
간혹 CPU가 너무 바쁘거나 시스템에 메시지가 많이 차 있는 경우에 이벤트가 늦게 발생
하거나 전혀 발생되지 못하는 경우도 발생 할 수 있습니다.
(즉, 멀티미디어 동영상 인코딩 작업시 타이머 이벤트가 정상적으로 발생할 수 있을까요?)
이것은 버그가 아니며 OS(시스템) 그렇게 구동되고 있기 때문, 다른 모든 어플리케이션도
그렇게 동작하고 있습니다.
* 만약 위의 현상이 일어나는 경우 신고 부탁 드립니다.
형상관리
MiPlatform
MiPlatform에서 연동가능한 형상관리 프로그램에 대한 메뉴얼입니다.
http://www.miplatform.co.kr/faq/data/docs/[MP3.2]SCM_통합메뉴얼_20111230.pdf
XPLATFORM
XPLATFORM에서 연동가능한 형상관리 프로그램에 대한 메뉴얼입니다.
http://www.miplatform.co.kr/faq/data/docs/[XP9.1]SCM Guide_20111230.pdf