5.주요 모듈 설명

Edit

주요 모듈 설명에서는 MiPlatform을 구성하고 있는 MiPlatform Browser와 MiUpdater에 대한 세부적인 설명을 합니다. "5.1 MiPlatform Browser란"에서는 MiPlatform Browser가 포함하는 범위와 구성에 대해 설명합니다. "5.2 MiUpdater"에서는 MiUpdater의 범위와 구성 및 사용 방법에 대해 설명합니다.

5.1MiPlatform Browser

5.1.1MiPlatform Browser란

MiPlatform Browser는 MiPlatform ActiveX를 포함하고 있는 전용 브라우저입니다.

MiPlatform Browser는 UNICODE 버전과 ANSI버전이 있습니다.

기능상 UNICODE 버전과 ANSI버전은 동등 합니다.

다만, ANSI버전에서는 2개 국어이상을 1개의 Application에서 사용할 경우 데이터 손실이 발생할 수 있습니다. UNICODE버전에서는 다국어 문제가 없으나, Windows XP SP3이상에서만 동작합니다.

5.1.2MiPlatform Browser의 구성

MiPlatform은 EXE의 실행 파일 형태로 제작된 전용 브라우저와 다른 Application에 포함되어 동작하도록제작된 ActiveX형태 및 플러그인 형태를 지원합니다. MiPlatform 전용 브라우저 형태는 사용자용인 MiPlatform과 개발자용인 MiSimulator로 구분됩니다. MiPlatform의 ActiveX형태는 콘트롤 형태로 사용하기 위한 MiPlatformX와 Application형태로 사용하기 위한 MiPlatformMX ( MDI ActiveX)형태가 제공됩니다. MiPlatform 전용 브라우저는 MiPlatformX를 사용하도록 제작되어 있으며, MiPlatformMX는 MiPlatform 브라우저를 ActiveX형태로 동작하도록 제작된 모듈 입니다.

MiPlatform과 MiSimulator의 차이점

표 5-1MiPlatform과 Misimulator의 차이점


MiPlatform

MiSimulator

사용용도

사용자

업무 개발자 (PID에서 Quick View 및 Quick Lanch, Debuging 사용 시 실행됩니다)

제공툴

배포 시 미제공

PID, BSB

메뉴

StartXML에서 제공되는 메뉴

StartXML에서 제공되는 메뉴

추가 Popup Menu 제공

(Source View - 현재 보여지는 화면 Source 보기

Reload - 다시 읽기

Always On Top -TopWindow로 보이기

Disabled waring message - waring message를 사용할지 여부를 설정)

Cache

StartXML에 명시되어 있는 Cache Level

작업 중 변경 사항이 적용되야 하므로 Cache Level은 Dynamic Level로 자동 변경됩니다.

MiPlatform Browser Argument

MiUpdater를 통해서 MiPlatform Browser를 실행하지 않고 MiPlatform Browser를 직접 실행할 경우에 필요한 정보입니다.

표 5-2MiPlatform Browser Argument

(입력 Argument 설명)

입력값

비고

Option

설명


프로그램명


설치경로\ MiPlatform330.exe

(바로가기 만들기로 생성)

-K

Key

Demo, Tutorial,…

Registry의 Key

-X

StartXML

StartXML 경로

설정 정보를 포함하고 있는 StartXML

(값이 없는 경우, Key 값으로 레지스트리에서 StartXML을 참고)

-I

InitURL

Prefix::경로

초기 화면 이름 (Prefix::경로)

-S

ScriptPath

Script 경로

Local에 있는 Script 파일을 사용하는 경우 Script 파일이 있는 경로

-C

ComponentPath

Component 경로

MiPlatform이 실행할 때 사용하는 Component가 있는 경로

(값이 없는 경우, Key 값으로 레지스트리에서 ComponentPath를 참고.

만약, 이 값도 없는 경우에는 Settings의 ComponentPath 값 참고)

-G

BKImage

이미지 경로

MiPlatform용 Splash화면에 표시될 이미지 파일의 경로

-SK

SiteKey

Site별 Key

업체별 또는 사이트별 Key

-LF

Left Position

숫자

Browser가 실행될 때 Left 위치

-TP

Top Position

숫자

Browser가 실행될 때 Top 위치

-WD

Width

숫자, max

Browser가 실행될 때 넓이값

-HT

Height

숫자, max

Browser가 실행될 때 높이값

-SC

Scroll

True/False

Browser가 MDI로 실행될 때 IConManager영역에 Scroll을 제공할지 여부

5.1.3MiPlatformX

MiPlatformX는 MiPlatform을 실행하는 기본 ActiveX입니다.

MiPlatformX 단독으로 서비스할 수 있으며, MiPlatformP ActiveX와 함께 사용해서 MDI를 구현할 수 있습니다. MiPlatformX에는 Virtual Engine(Cache Manager, Protocol Manager, Component Manager, Dataset Manager, XML/Script Manager)이 포함되어 있습니다.

MiPlatformX는 UNICODE 버전과 ANSI 버전이 있으며 기능은 서로 같습니다. 두 가지 버전을 동시에 설치할 수도 있습니다.

MiPlatformX의 CLSID

표 5-3MiPlatformX의 CLSID

버전

CLSID

UNICODE

{EC3500BB-63AF-45E4-9CBE-C126C77A28B5}

ANSI

{6CCC09A1-3835-427E-BAEC-A92D216A1557}

MiPlatformX의 Property/Method/Event

Property

표 5-4MiPlatformX의 Property

Property

입력값/형태

설명

SET/GET

여부

필수

여부

Key

String

Caching과 Registry에서 사용되는 고유한 식별자(Unique Identify String)

S/G

0

StartXML

String

MiPlatformX 실행에 필요한 Configuration 정보가 저장된 XML 문서 경로(Local 또는 http)

S/G

O

InitURL

String

최초에 화면에 나타나는 XML 경로

(StartXML 문서에 설정된 InitURL은 무시됩니다.)

Prefix::경로

S/G

X

ScriptPath

String

Local에 있는 Script 파일을 사용하는 경우 Script 파일 경로

S/G

X

HostHWnd

Long

MiPlatformX를 Hosting하고 있는 Window Handle

S/G

X

ComponentPath

String

MiPlatform에서 사용되는 Component DLL이 위치한 Local 경로

S/G

X

Redraw

Bool

화면 painting

S/G

X

ConnectRetry

Int

통신 시 Connect Retry 횟수

S/G

X

WaitTimeInterval

Int

통신 시 TimeOut

S/G

X

RealMode

Bool

사용자 버전과 개발자 버전 구별 여부

S/G

X

TraceMode

Bool

trace 실행 여부

S/G

X

RetValue

Variant

Dialog Form close Api 사용 시 return value

Array로 사용할 수 있습니다.

G

X

SessionURL

String

Session 사용 시 화면 경로

Prefix::경로

S/G

X

AutoSize

Bool

화면 사이즈 자동 조절 여부(FormXML에 설정된 사이즈)

S/G

X

ID

String

스크립트 사용 시 화면을 구별하는 ID

S/G

삭제

SessionWindow

Bool

SessionURL의 통과 확인 여부

S/G

X

EnableScroll

Bool

화면 사이즈가 MiPlatformX의 사이즈보다 클 경우 Scroll 사용 여부

S/G

X

SiteKey

String

Site별 Key

SiteKey가 있는 경우 Registry의 Key값을 생성할 때 참고됩니다.

S/G

X

WantAllKeys

Bool

Ctrl과 함께 Key가 눌릴 때 KeyDown Event 발생 여부

S/G

X

IEHandleFlag

Bool

IE에서 Open 사용 시 IE에서 처리 여부

S/G

X

IECloseFlag

Bool

IE에서 Closing Event의 Closing 여부

S/G

X

InitBKText

String

화면이 Loading되기 전에 보여주는 배경 Text

MiPlatformX의 DoRun()함수가 호출되기 전에 나타나므로 IE Script에서는 Param 정보로 설정합니다.

S/G

X

IERetValue

Variant

IE에서 Dialog 사용시 Return값

Dialog를 띄울 때만 유용합니다.

S/G

X

SDI

Bool

SDI인지 MDI인지 여부 설정

S/G

X

IPlatformGlobal

IUnknown *

MiPlatformX가 사용할 PlatformGlobal의 Interface를 직접 설정, PlatformGlobal을 구별할 수 있는 유일한 값을 설정합니다.

PlatformManager는 StartXML과

IPatformGlobal을 기준으로

PlatformGlobal을 생성합니다.

StartXML을 같이 주면 MiPlatformMX와 MiPlatformX가 같은 PlatformGlobal을 사용할 수 있습니다.

S/G

X

QuickTabsImage

String

Internet Explorer 7.0의 QuickTabs페이지에서 보여줄 Image의 URL입니다.

S/G

(단, Loading후에는 변경이 적용되지 않음)

X

QuickTabsImageLayout

String

Internet Explorer 7.0의 QuickTabs페이지에서 보여줄 Image배치 방식입니다.

STRETCH 또는 TILE 또는 Align을 지정할 수 있습니다. Align은 가로 정렬로서 LEFT, CENTER, RIGHT중에서 선택이 가능하며, 세로정렬로서 TOP, MIDDLE, BOTTOM중에서 선택이 가능합니다. 정렬은 빈칸으로 구분하여 조합해야 합니다.

S/G

(단, Loading후에는 변경이 적용되지 않음)

X

QuickTabsText

String

Internet Explorer 7.0의 QuickTabs페이지에서 보여줄 Text입니다. MiPlatform으로 Browsing중인 Application의 설명 또는 이름을 적기위한 프로퍼티 입니다.

S/G

(단, Loading후에는 변경이 적용되지 않음)

X

QuickTabsTextAlign

String

Internet Explorer 7.0의 QuickTabs페이지에서 보여줄 Text의 배치 방식입니다.

가로정렬로서 LEFT, CENTER, RIGHT중에서 고를 수 있으며, 세로정렬로서 TOP, MIDDLE, BOOTM중에서 고를 수 있습니다. 정렬은 빈칸으로 구분하여 조합해야 합니다.

S/G

(단, Loading후에는 변경이 적용되지 않음)

X

QuickTabsTextFont

String

Internet Explorer 7.0의 QuickTabs페이지에서 보여줄 Text Font입니다.

문자열로 "FontFace, Size, …"와 같이 MiPlatform에서 Font를 입력하는 형식으로 입력하시면 됩니다.

S/G

(단, Loading후에는 변경이 적용되지 않음)

X

Hwnd

OLE_HANDLE

Stock Property로서 MiPlatformX의 Window Handle을 의미 합니다.

G

X

Method

예시는 UNICODE버전을 사용합니다.

<OBJECT ID="MiPlatformX" width="70%" height="80%" Visible="true"
CLASSID="CLSID: EC3500BB-63AF-45E4-9CBE-C126C77A28B5"></OBJECT>

를 기본으로 합니다.

표 5-5MiPlatformX의 Method

Method명

Parameter

return

설명

예시

DoRun



정의된 Property값으로 MiPlatformX를 실행합니다.

MiPlatformX.DoRun();

SetGlobalVariableValue

strID

strValue

Bool

해당 PlatformGlobal의 Global Variable Value를 설정합니다.

MiPlatformX. SetGlobalVariableValue("id", "tobe");

strID : Global Variable ID

strValue : 설정값

GetGlobalVariableValue

strID

String

해당 PlatformGlobal에서Global Variable Value값을 받아옵니다.

var ret =MiPlatformX. GetGlobalVariableValue("id");

strID : Global Variable ID

GetSelectedURL


String

현재 Form의 경로를 받아옵니다.

var ret =MiPlatformX. GetSelectedURL();

GetSelectedSource


String

현재 Form의 source xml을 받아옵니다.

var ret =MiPlatformX. GetSelectedSource ();

Stop



통신을 중지합니다.

현재 Form에서 Component가모든 생성된 후라면OnLoadCompleted Event가 발생된 후, Form의 OnActivate Event가 발생됩니다.

MiPlatformX.Stop();

Reload



화면을 Reload합니다.

MiPlatformX,Reload();

SetVariable

strArgument

Long

Form의 Argument를 설정합니다. (Dialog, Open 시)

Dialog, Open된 화면 Script에서 접근할 수 있습니다.

MiPlatformX.SetVariable("a=b c=d");

strArgument : Argument

(a=b c=d e=g 형식으로 입력)

GetFormNo


Long

Form의 identity를 받아옵니다. DoRun()함수 호출 후에 사용해야 FormNo값을 받을 수 있습니다.

var ret = MiPlatformX. GetFormNo();

SetParentForm

lNo


Parent Form을 설정합니다.

DoRun()함수 호출 후에 사용해야 FormNo값을 받을 수 있습니다.

MiPlatformX.SetParentForm(ParentMiPlatformX.GetFormNo());

lNo : Parent Form의 Pointer

AddChildForm

lNo


생성된 Form을 Child로 추가합니다. Child Form의 GetFormNo() 값을 넘겨줍니다.

MiPlatformX. AddChildForm (ChildMiPlatformX.GetFormNo());

lNo : Child Form의 Pointer

GetWidth


Long

Form의 Width 값을 받아옵니다.

Form의 Border 영역을 뺀 ClientArea Width를 받아옵니다.

var ret = MiPlatformX.GetWidth()

GetHeight


Long

Form의 Height 값을 받아옵니다.

Form의 Title, Border, Status영역을 뺀 ClientArea Width를 받아옵니다.

var ret = MiPlatformX.GetHeight()

CallScript

strExpr

Bool

Expression이나 Script 함수를 실행합니다.

실행할 Script 함수는 화면 Script에 있는 함수여야 합니다.

MiPlatformX CallScript("fnCall(&lsquo;a&rsquo;)");

strExpr : Expression 또는 Script 함수 이름

IsDestroyWindow


Bool

현재의 Form 종료 여부

현재 Form의 OnDeActivateEvent 발생 후, Form의 OnUnLoadCompleted Event가 발생되며 OnUnLoadCompleted에서 return한 값을 되돌려줍니다.

Return값이 true인 경우만 종료되도록 처리하십시오.

MiPlatformX. IsDestroyWindow();

Close


Bool

Form을 닫습니다.

MiPlatformX의 BeforeClose Event가 발생하며 여기에서 false를 return하는 경우에는 Close가 중지됩니다. BeforeClose Event에서 true를 return하면

Form의 OnDeActivate Event 발생 후, Form의

OnUnLoadCompleted Event가 발생됩니다.

MiPlatformX의 ClosingWindow Event 발생 후, IECloseFlag Property 값이 True인 경우에 MiPlatformX의 Close Event가 발생됩니다.

MiPlatformX.Close();

ResetPosition



Form 사이즈를 reset합니다.

Form의 OnMove Event가 발생됩니다.

MiPlatformX.ResetPosition();

IsSessionSuccess


Bool

Session 성립 여부를 확인합니다.

var ret = MiPlatformX.IsSessionSuccess()

CreateBitmap

strImageID

IPictureDisp*

StartXML에 정의된 Resource 파일 안에 들어있는 이미지 handle을 받아옵니다.

CreateBitmap으로 받은 Handle을 DestroyBitmap을 통해 제거해야만 합니다.

CreateBitmap으로 받은 Handle은 MiPlatform이 공유하는 Handle입니다.

var ret = MiPlatformX.CreateBitmap ("App::BKIMAG")

strImageID: Image ID

DestroyBitmap

pDispBitmap

Bool

이미지 handle을 제거합니다.

var ret = MiPlatformX.DestroyBitmap (핸들값)

pDispBitmap : 제거할 이미지

GetIconPath


String

FormXML에 정의된 Icon Property값을 받아옵니다.

var ret = MiPlatformX.GetIconPath();

SetActivate

bActivate


Active 상태를 설정합니다.

Active 상태에 따라 Form의 OnActivate나 OnDeActivateEvent가 발생됩니다.

MiPlatformX. SetActivate(true);

bActivate : Active 상태(True/False)

GetColorValue

strColor, bRGB

Long

Color 값을 요청하면 실제 Color 값을 받아옵니다.

var ret = MiPlatformX. GetColorValue("red", false);

strColor : Color String bRGB : False(내부적으로 UserColor, SystemColor 사용 여부)

Exit


Bool

Form의 OnExit 함수를 호출합니다. OnExit 함수의 return 값을 넘겨줍니다.

Script에서 Exit함수를 호출하는것과 동일하게 작동합니다. Event발생은

A. MiPlatformX -BeforeExitApplication Event

B. Script - Global OnBeforeExit Event

C. Script - 열려진 모든 Form OnUnLoadCompleted Event

D. Script - Global OnExit Event

E. MiPlatformX - ExitApplication Evnet

순으로 발생합니다. Event중에서 exit를 원하지 않게 return할 경우에는 그 이후의 Event는 발생하지 않습니다. Event별 자세한 사항은 해당 Event의 설명을 참고합니다. 3.2이상에서만 지원합니다.

var ret = MiPlatformX.Exit();

GetDialogClientAreaAdjustWidth

bTitleFlag, bMenu, bStatusBar

Long

Dialog의 전체 크기에서ClientArea를 제외한 영역의 Width를 구합니다. (ActiveX에서 Open으로 화면을 띄울 때 사용됩니다.)

var ret = MiPlatformX. GetDialogClientAreaAdjustWidth(true,false, false);

bTitleFlag : Title 포함 여부

bMenu : Menu 포함 여부

bStatusBar : StatusBar 포함 여부

GetDialogClientAreaAdjustHeight

bTitleFlag, bMenu, bStatusBar

Long

Dialog의 전체 크기에서ClientArea를 제외한 영역의 Height를 구합니다. (ActiveX에서 Open으로 화면을 띄울 때 사용됩니다.)

var ret = MiPlatformX. GetDialogClientAreaAdjustHeight(true,false, false);

bTitleFlag : Title 포함 여부

bMenu : Menu 포함 여부

bStatusBar : StatusBar 포함 여부

SetMDIStatus

bstrMDIStatus


MDI로 사용중일 때 현재 Form(ChildForm)안의 상태를 나타냅니다.

설정된 값은 Script에서 Form의 MDIStatus Property를 통해 접근 가능 합니다.

MiPlatformX. SetMDIStatus ("Min");

bstrMDIStatus:Form 상태 여부(Min/Max/Normal)

CallEvent

bstrEventName,

VarArg


MiPlatform의 Event를 발생하도록 합니다.

특수한 일부 Event만 가능합니다.

Var arg;
MiPlatformX. CallEvent("OnActivate", arg)&rsquo;;

bstrEventName:발생시키고자하는 Event 명

VarArg:Event 발생시 인자들

GetDescription


String

Form의 Description Property값을 얻어옵니다.

Icon Manager의 Report Type을 지원하기 위해 추가되었습니다. Report Type으로 설정되었을 때 Description Column에 추가됩니다.

Var arg;
MiPlatformX. GetDescription();

SetFormOpenType

bstrOpenType


MiPlatformX를 포함하는 Form이 열릴 때 Type을 설정하는 Method입니다.

MiPlatormX.SetFormOpenType("dockbar");

Browser에서 Open/Dialog/Dockbar/

Normal 중 선택적으로 Form에 따라 설정합니다.

Event

Script 함수가 호출되었을 때 발생되는 Event는 Api 매뉴얼을 참고하십시오.

표 5-6MiPlatformX의 Event

Event 이름

Parameter

설명

FormSize

pDisp,

lwidth,

lheight,

pbCanceledFlag

pbCanceledFlag : Form Size를 변경할지 여부 설정 후 리턴.

MoveWindow에 의한 Size 변경 시 발생됩니다.

Autosize가 false이면 발생하지 않습니다.

pDisp : Event를 발생시킨 Component의 IDispatch

lwidth : 변경된 Form의 width

lheight : 변경된 Form의 Height

ShowStatusBar

pDisp,

bShow

StartXML Loading 중 ConnectionGroup의 Statusbar 속성에 따라 Event가 발생됩니다.

pDisp : Event를 발생시킨 Component의 IDispatch

bShow : StatusBar 표시 여부

TitleChange

pDisp,

strTitle

Form의 Title이 변경될 때 발생됩니다.

SetTitle Event로 대치되어 발생합니다.

pDisp : Event를 발생시킨 Component의 IDispatch

strTitle : 변경된 Form Title

StatusTextChange

pDisp,

strStatusText

Title의 StatusText가 변경될 때 발생됩니다.

pDisp : Event를 발생시킨 Component의 IDispatch

strStatusText: 변경된 StatusBar의 Text

NewWindow

pDisp,

strID,

strUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

pbHandledFlag,

plResult

MiPlatformX를 MDI 형태일 때 구현되며, MiPlatformX를 SDI 형태일 때는 구현되지 않습니다.

Script에서 NewWindow Api 호출 시(ChildForm을 띄울 때)발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 ChildFrame을 띄울 때는 ClientArea의 Title, Border, Status 유무에 따라 전체 크기가 변경됩니다.(Script에서 NewWindow 호출 시)

pDisp: Event를 발생시킨 Component의 IDispatch

strID: Form의 ID

strUrl: 화면 URL(Prefix::화면 이름)

strArgument: New Form을 띄울 때 Argument값. Dialog, Open의 Argument 형식과 유사(a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle (resize=false closeflag = false 형식) Argument 형식과 유사

lleft: left

ltop: top

lwidth: Form의 width

lheight: Form의 height

pbHandledFlag: Event 처리 여부

plResult:생성된 Form의 Handle 값을 설정 후 리턴

Open

pDisp,

strUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

pbHandledFlag,

plResult

Open으로 화면을 띄울 때 발생됩니다. Width, Height는 Form의 ClientArea영역을 의미합니다. 실제로 Open 창을 띄울 때는 ClientArea의 Title, Border에 따라 전체 크기가 변경됩니다. (Script에서 Open 호출 시)

3.2이전 버전에서는 Key처리가 제대로 되지 않아 Open Event에서 MiPlatformX를 포함하고 있는 Browser의 Open창을 띄우도록 권고하였습니다. 하지만 3.2이후버전에서는 Open Event에서 따로 처리하는 작업이 없을 경우에는 MiPlatormX에서 Open창을 띄워 줍니다. 이때 Key처리의 문제가 해결되었습니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strUrl: Open하는 화면 URL(Prefix::화면 이름)

strArguement: Argument (a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle(resize=false closeflag = false 형식) Argument 형식과 유사

lleft: left

ltop: top

lwidth: Form의 width

lheight: Form의 height

pbHandledFlag: Event 처리 여부

plResult:생성된 Form의 Handle 값을 설정 후 리턴

Dialog

pDisp,

strUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

pvarResult,

pbHandledFlag

Dialog로 화면을 띄울 때 발생됩니다. Width, Height는 Form의 ClientArea영역을 의미합니다. 실제로 Dialog 창을 띄울 때는 ClientArea의 Title과 Border에 따라 전체크기가 변경됩니다. (Script에서 Dialog 호출 시)

3.2이전 버전에서는 Key처리가 제대로 되지 않아 Dialog Event에서 MiPlatformX를 포함하고 있는 Browser의 Dialog창을 띄우도록 권고하였습니다. 하지만 3.2이후버전에서는 Dialog Event에서 따로 처리하는 작업이 없을 경우에는 MiPlatormX에서 Dialog창을 띄워 줍니다. 이때 Key처리의 문제가 해결되었습니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strUrl: Dialog로 띄울 화면 URL(Prefix::화면 이름)

strArguement: Argument (a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle(resize=false closeflag = false 형식) Argument 형식과 유사

lleft: left

ltop: top

lwidth: Form의 width

lheight: Form의 height

pbstrResult:Dialog 종료시 리턴 값

pbHandledFlag: Event 처리 여부

BeforeNavigate

pDisp,

strReqID,

strServiceID,

strUrl

해당 Url 경로로 Navigation이 시작될 때 발생됩니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strReqID: 해당 URL의 종류

(TobeForm, TobeImage, TobeDomain, TobeMain, TobeScript)

strServiceID: Prefix를 포함한 경로

strUrl: Prefix를 변환한 경로

Close

pDisp,

pbHandledFlag

MiPlatformX의 Close()함수 호출 시 Closing Event 발생 후 IECloseFlag에 따라 Close Event가 발생됩니다.

대부분 Dialog Close 시 사용됩니다.

MiPlatformX의 Close()함수나 Script에서 Close() 호출 시 BeforeClose Event 발생후 IECloseFlag에 따라 Closing Event 발생하고 IECloseFlag에 따라 Close Event가 발생됩니다. Event 발생순서는 MiPlatformX의 Close 함수를 참고합니다.

Open 혹은 Dialog 메소드 호출에 의해 생성된 폼에서 Close()함수 호출 시에는 MiPlatformX을 공유해서 사용하므로 이벤트가 발생하지 않습니다.

pDisp: Event를 발생시킨 Component의 IDispatch

pbHandledFlag: Event 처리 여부

Lock

pDisp,

bLockFlag

Lock/Unlock 상태 변경 시 발생됩니다.

pDisp: Event를 발생시킨 Component의 IDispatch

bLockFlag: Load되어 있는지 여부

NavigateComplete

pDisp,

strReqID,

strServiceID,

strUrl

해당 Url 경로의 Navigation이 끝날 때 발생됩니다.

(Form 단위로 발생하므로 여러 번의 BeforeNavigate가 발생해도 하나의 폼이면 한번만 발생합니다.)

pDisp: Event를 발생시킨 Component의 IDispatch

strReqID: 해당 URL의 종류

(TobeForm, TobeMain)

strServiceID: Prefix를 포함한 경로

strUrl: 전체 경로

AddLogView

pDisp,

strMessage

LogView에 문자가 출력될 때 발생됩니다. (script에서 Trace 호출 시)

Script 실행 시 에러인 경우에 발생됩니다. IE상에서 실행 중일때는 "TraceLog_MiPlatform.txt" 파일 이름으로 Log를 남깁니다.

4GL의 경우는 자동으로 Log파일을 남기지는 않습니다.

TraceMode를 True로 설정하면 AddLogView Event가 발생합니다.Log파일을 남기기 위해서는 AddLogView Event의 구현부에 직접 Log퐈일을 남기는 루틴을 추가 작성해야 합니다.

pDisp: Event를 발생시킨 Component의 Idispatch

strMessage: Log Message

Communication

pDisp,

bStart

통신이 시작되거나 끝난 경우 발생됩니다.

pDisp: Event를 발생시킨 Component의 IDispatch

bStart: 통신 시작/종료 여부

ShowTitleBar

pDisp,

bShow

StartXML Loading 중에 ConnectionGroup의 TitleBar 속성에 따라 Event가 발생됩니다.

pDisp: Event를 발생시킨 Component의 IDispatch

bShow: TitleBar 표시 여부

Initialize

plhHostwnd

MiPlatformX 생성되었을 때 발생됩니다. hosting하고 있는 window를 리턴합니다. IE에서는 설정하지 않습니다.

plhHostwnd: hosting하고 있는 Window Handle을 리턴

Closing

pbCloseFlag

MiPlatformX의 Close()함수 호출 시 발생됩니다.

IE의 경우, IECloseFlag 값으로 Close할 지를 설정합니다.

대부분 Dialog Close 시 사용됩니다.

pbCloseFlag: Close 여부

RButtonDown

pDisp,

lFlag,

lx,

ly

Rbutton이 down 되었을 때 발생됩니다. (개발자용만 발생)

pDisp: Event를 발생시킨 Component의 IDispatch

lFlag: Mouse Lbutton, RButton, MButton의 down 여부

lx: X 좌표

ly: Y 좌표

LoadCompleted

pDisp,

strReqID,

strServiceID,

strURL

MiPlatformX가 실행될 때 각각 필요한 리소스,

dataset, script 등의 Load가 완료된 때에 발생됩니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strReqID: 해당 URL의 종류

(TobeForm, TobeImage, TobeDomain, TobeMain)

strServiceID: Prefix가 포함된 경로

strUrl: 전체 경로

LoadMenu

pICyDom

Menu가 Load될 때 발생됩니다. (Script에서 LoadMenu 호출 시와 Start XML의 Menu 가 Load되었을 때 )

LoadMenu에서 받은 pICyDom을 가지고 SystemMenu를 구성할수 있습니다. MiPlatformX를 단독으로 사용하는 경우에는 Event안에서 따로 처리할 부분은 없습니다.

pICyDom: Load된 ICyDom 형태의 Menu

UnloadMenu

pDisp

Menu를 UnLoad될 때 발생됩니다. (Script에서 UnLoadMenu호출 시)

UnLoadMenu 함수는 지원하지 않으므로 Event가 발생하지 않습니다.

pDisp: Event를 발생시킨 Component의 IDispatch

FormMenu

pICyDom

Form별로 Menu 정보가 발생됩니다.

pICyDom: Load된 ICyDom 형태의 Menu

CurrentPoint

lx,

ly

현재 마우스의 좌표(개발자용만 발생)

lx: Mouse X 좌표

ly: Mouse Y 좌표

UserNotify

lNotifyID,

strMsg

사용자 정의 메시지가 발생될 때 발생됩니다.(Script에서 UserNotify 호출 시)

lNotifyID: Script에서 발생시킨 NotiftID

strMsg: Script에서 발생시킨 메시지

MDIInfo

pICyDom

StartXML의 MDIInfo 정보를 읽은 후 발생됩니다.

pICyDom: Load된 ICyDom 형태의 MDIInfo

PlatformError

pDisp,

lError,

strErrorMsg

Script 실행중에 에러가 났을 때 발생됩니다.

pDisp: Event를 발생시킨 Component의 IDispatch

lError: Error Code

strErrorMsg: Error Message

DockInfo

pICyDom

StartXML의 Frame 정보를 읽은 후 발생됩니다.

pICyDom: Load된 ICyDom 형태의 DockInfo

RButtonUp

pDisp,

lFlag,

lx,

ly

Rbutton이 Up 되었을 때 발생됩니다. (개발자용만 발생)

pDisp: Event를 발생시킨 Component의 IDispatch

lFlag: Mouse Lbutton, RButton, MButton 의 down 후 up 여부

lx: X 좌표

ly: Y 좌표

NewWindowEx

pDisp,

strID,

strStartXMLUrl

strSessionUrl,

strInitUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

pbHandledFlag,

plResult

MiPlatformX를 MDI 형태로 처리할 때 구현되며, MiPlatformX를 SDI 형태로 처리할 때는 구현되지 않습니다.

Script에서 NewWindow Api 호출 시(ChildForm을 띄울 때)발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 ChildFrame을 띄울 때는 ClientArea의 Title, Border, Status의 유무에 따라 전체 크기가 변경됩니다. (Script에서 NewWindowEx 호출 시)

pDisp: Event를 발생시킨 Component의 IDispatch

strID: Form의 ID

strStartXMLUrl: 다른 StartXML의 Form을 사용할 때 StartXML 경로

strSessionUrl: SessionURL이 있는 경우 Session 경로

strInitUrl: 화면 URL(Prefix::화면 이름)

strArgument: New Form을 띄울 때 Argument값

Dialog, Open의 Argument 형식과 유사(a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle (resize=false closeflag = false 형식) Argument 형식과 유사

lleft : left

ltop : top

lwidth: Form의 width

lheight: Form의 height

pbHandledFlag: Event 처리 여부

plResult:생성된 Form의 Handle 값을 설정 후 리턴

Activate


Form이 활성화될 때 발생됩니다. (script에서 Focus() 함수 호출 시)

ExitApplication


Application을 종료할 때 발생됩니다. (script에서 Exit 호출 시)

ArrangeWindow

pDisp,

strArrangeStyle

MDI에서 창을 정렬할 때 발생됩니다. (script에서 ArrangeWindow 호출 시)

pDisp: Event를 발생시킨 Component의 IDispatch

strArrangeStyle: 정렬하려는 Style

Visible

bShow

Visible 상태가 변경될 때 발생됩니다.

bShow: Visible 상태

EnableMenuItem

strID,

bEnable

script를 통해 MenuItem의 enable/disable의 상태가 변경될 때 발생됩니다.

strID: MenuItem ID (A.B.C 형식)

bEnable: Enable 여부

GetPosition

strID,

plValue

Script에서 해당 PositionID 의 좌표값을 받아오는 함수를 호출했을 때 발생됩니다. (Script에서 Window.Position을 받아오는 함수 호출 시)

strID: Position ID

plValue: Position

SetPosition

strID,

lValue

Script에서 해당 Position ID의 좌표값을 설정하는 함수를 호출했을 때 발생됩니다. (Script에서 Window.Position을 받아오는 함수 호출 시)

strID: Position ID

lValue: Position

SetWindowPosition

lleft,

ltop,

lwidth,

lheight

Script에서 해당 윈도우의 Position을 변경할 때 발생됩니다. 강제로 WindowPosition을 바꿀 때에는 Width, Height 정보를 ClientArea 영역의 Border, Title, Status를 고려하여 설정합니다.

lleft : left 값

ltop: Top 값

lwidth: Width 값

lheight: Height 값

GetPlatformInfo

strType,

strSubType,

pstrRetVal

Script에서 Platform 정보를 받아오는 함수를 호출했을 때 발생됩니다. argument는 GetPlatformInfo 함수를 참고하십시오.

strType: Platform에서 제공되는 정보 Type

strSubType: Platform에서 제공되는 정보 Type의 SubType

pstrRetVal: 해당되는 값을 return

GetTitle

pstrRetVal

Script에서 Title 값을 받아올 때 발생됩니다.

pstrRetVal: 현재 Title 값

SetTitle

strTitle

Title 값이 변경될 때 발생됩니다.

strTitle: Title 값

ChangedGlobalInfo

bstrType,

bstrValue

Global 속성 중에서 변경하는 항목이 생긴 경우 발생됩니다. (script에서 ChangedGlobalInfo 호출 시)

Global영역에 설정된 Property가 변경된 경우 해당 Browser에 알려 변경된 사항이 적용되도록 한다.

현재 Browser에서 제공되는 bstrType은 FONT, STATUS입니다.

bstrType: 변경된 Global 속성 Type

bstrValue: 변경된 Global 속성값

LButtonDown

pDisp

nFlag

nX

nY

마우스 왼쪽 버튼이 눌린 시점에서 발생합니다.

pDisp: Event를 발생시킨 Component의 IDispatch

nFlag :virtual Key가 눌렸는지 여부

8 - CTRL Key

1- Left Mouse Button

16-Middle Mouse Button

2-Right Mouse Button

4-SHIFT Key

nX :LButton이 발생한 x Position

nY: LButton이 발생한 y Position

BeforeClose

pbCloseFlag

MiPlatformX의 Close()함수를 호출하거나 Script에서 Close()함수를 호출할 때 가장먼저 발생하는 Event로 IE에서는 IECloseFlag 에 false를 설정하면 Close작업이 중단됩니다. IECloseFlag를 설정하지 않거나 true로 설정하면 Close작업 순서에 따라 Event가 발생합니다. 이미 Closing Event가 발생하면 엔진단이 내려간 상태이므로 Browser단의 Close Event에서 닫는 작업만 가능합니다.

pbCloseFlag: Close할지 여부를 설정

BeforeExitApplication

pbExitFlag

MiPlatformX의 Exit()함수를 호출하거나 Script에서 Exit()함수를 호출한 경우에는 가장 먼저 발생하는 Event로 IE에서 IECloseFlag에 false를 설정하면 Exit작업이 중단됩니다. IECloseFlag를 설정하지 않거나 true로 설정하면 Exit작업 순서에 따라 Event가 발생합니다. 이미 ExitApplication Event가 발생하면 엔진단이 내려간 상태이므로 Browser의 ExitApplication Event에서 종료하는 작업만 가능합니다.

pbExitFlag:Exit할지 여부를 설정

AddFrame

pDisp

bstrID

bstrInitURL

nLeft

nTop

nWidth

nHeight

strAlign

nIndex

nSubIndex

strStyle

pHandledFlag

plResult

Script에서 AddFrame Api 호출 시(DockBar를 띄울 때)발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strID: Form의 ID

strInitUrl: 화면 URL(Prefix::화면 이름)

nleft : left

ntop : top

nwidth: Form의 width

nheight: Form의 height

strAlign:DockBar의 초기 Docking위치

nIndex:DockBar가 생성될 때 초기 위치

nSubIndex:DockBar가 생성될 Index값에서의 Sub Posiotin값

strStyle: Frame을 띄울 때 설정할 수 있는 option 정보

각 값에 대한 구분은 공백으로 하며, 값은 id=value 의 형태로 입력합니다

pbHandledFlag: Event 처리 여부

plResult:생성된 Form의 Handle 값을 설정 후 리턴

AddFrameEx

pDisp

bstrID

bstrStartXML

bstrSessionUrl

bstrInitURL

nLeft

nTop

nWidth

nHeight

strAlign

nIndex

nSubIndex

strStyle

pHandledFlag

plResult

Script에서 AddFrameEx Api 호출 시(DockBar를 띄울 때)발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strID: Form의 ID

strStartXMLUrl: 다른 StartXML의 Form을 사용할 때 StartXML 경로

strSessionUrl: SessionURL이 있는 경우 Session 경로

strInitUrl: 화면 URL(Prefix::화면 이름)

nleft : left

ntop : top

nwidth: Form의 width

nheight: Form의 height

strAlign:DockBar의 초기 Docking위치

nIndex:DockBar가 생성될 때 초기 위치

nSubIndex:DockBar가 생성될 Index값에서의 Sub Posiotin값

strStyle: Frame을 띄울 때 설정할 수 있는 option 정보

각 값에 대한 구분은 공백으로 하며, 값은 id=value 의 형태로 입력합니다

pbHandledFlag: Event 처리 여부

plResult:생성된 Form의 Handle 값을 설정 후 리턴

MiPlatformX의 사용예

예시는 MiPlatformX의 UNICODE버전을 사용합니다.

<HTML>
<HEAD>
<TITLE>MiPlatformX Demo Page</TITLE>

<SCRIPT LANGUAGE=javascript FOR=MiPlatformCtrl EVENT=UserNotify(nNotifyID,strMsg)>
    alert("UserNotify" + nNotifyID + " strMsg:" + strMsg);
</SCRIPT>

<SCRIPT LANGUAGE="javascript">

    function fn_load()
    {
        MiPlatformCtrl.AutoSize= false;
        MiPlatformCtrl.Key = "demo";
        MiPlatformCtrl.startxml = "http://your.site.com/key/StartXML.xml";
        MiPlatformCtrl.InitUrl = "DefApp::index.xml";

        MiPlatformCtrl.DoRun();
    }    

</SCRIPT>
</HEAD>
<BODY leftmargin=0 topmargin=0  RIGHTMARGIN="0" BOTTOMMARGIN="0" onload="fn_load()">
</OBJECT>
<OBJECT ID="MiPlatformCtrl" width="70%" height="80%"  Visible="true"
    CLASSID="CLSID: EC3500BB-63AF-45E4-9CBE-C126C77A28B5">
     <PARAM NAME="InitBKText" VALUE="service name">
</OBJECT>

</BODY>
</HTML>

5.1.4MiPlatformMX

MiPlatformMX는 MDI 형태를 지원하는 ActiveX입니다.

MDI 형태 또는 MDI 화면을 MiPlatform에서 그대로 사용하고 싶은 경우 MiPlatformMX를 사용합니다.

MiPlatformMX는 UNICODE 버전과 ANSI버전이 있으며 기능은 서로 같습니다. 두 가지 버전을 동시에 설치할 수도 있습니다. MiPlatformMX가 올라오면 PlatformGlobal Manager는 하나가 존재하며 같은 StartXML을 가지는 MiPlatformMX instance가 올라와도 각 MiPlatformMX당 PlatformGlobal은 다릅니다. 예를 들어 MiPlatformMX를 포함하고 있는 WebPage에서 새창을 열었을 경우 기존 창과 새창의 PlatformGlobal은 서로 다르면 PlatformGlobal Manager는 2개의 Platform Global을 가집니다.

MiPlatformMX는 내부적으로 MiPlatformX와 MiPlatformP을 사용해서 만들어지므로 Property, Method, Event들은 MiPlatformX, MiPlatformP와 유사합니다.

MiPlatformMX의 CLSID

표 5-7MiPlatformMX의 CLSID

버전

CLSID

UNICODE

{9070C3BF-877E-49CC-AAD0-A02389EEEB13}

ANSI

{4ECAA69A-64B9-4DA6-A28A-407658770B61}

MiPlatformMX의 Property/Method/Event

Property

표 5-8MiPlatformMX의 Property

Property 이름

입력값/

형태

설명

SET/GET

여부

필수

여부

Key

String

Caching과 Registry에서 사용되는 고유한 식별자(Unique Identify String)

S/G

0

StartXML

String

실행에 필요한 Configuration정보가 저장된 XML 문서 경로(Local 또는 http)

S/G

O

InitURL

String

최초에 화면에 나타나는 xml 경로

(StartXML 문서에 설정된 InitURL은 무시됩니다.)

Prefix::경로

S/G

X

ScriptPath

String

Script 파일 경로

S/G

X

ComponentPath

String

MiPlatform에서 사용되는 Component DLL이 위치한 Local 경로

S/G

X

IERetValue

Variant

IE에서 Dialog 사용시 Return값

Dialog를 띄울 때만 유용합니다.

S/G

X

SiteKey

String

Site별 Key

SiteKey가 있는 경우 Registry의 Key값을 생성할 때 참고됩니다.

S/G

X

IEHandleFlag

Bool

IE에서 Open 사용 시 IE에서 처리 여부

S/G

X

IECloseFlag

Bool

IE에서 Closing Event의 Closing 여부

S/G

X

InitBKText

String

화면이 Loading되기 전에 보여주는 배경 Text

MiPlatformMX의 DoRun()함수가 호출되기 전에 나타나므로 IE Script에서는 Param 정보로 설정합니다.

S/G

X

StartImage

String

MiPlatformMX가 실행될 때 대기 중 다이얼로그의 이미지(경로정보에 Alias는 쓸 수 없음)

S/G

X

QuickTabsImage

String

Internet Explorer 7.0의 QuickTabs페이지에서 보여줄 Image의 URL입니다.

S/G

(단, Loading후에는 변경이 적용되지 않음)

X

QuickTabsImageLayout

String

Internet Explorer 7.0의 QuickTabs페이지에서 보여줄 Image배치 방식입니다.

STRETCH 또는 TILE 또는 Align을 지정할 수 있습니다. Align은 가로 정렬로서 LEFT, CENTER, RIGHT중에서 선택이 가능하며, 세로정렬로서 TOP, MIDDLE, BOTTOM중에서 선택이 가능합니다. 정렬은 빈칸으로 구분하여 조합해야 합니다.

S/G

(단, Loading후에는 변경이 적용되지 않음)

X

QuickTabsText

String

Internet Explorer 7.0의 QuickTabs페이지에서 보여줄 Text입니다. MiPlatform으로 Browsing중인 Application의 설명 또는 이름을 적기위한 프로퍼티 입니다.

S/G

(단, Loading후에는 변경이 적용되지 않음)

X

QuickTabsTextAlign

String

Internet Explorer 7.0의 QuickTabs페이지에서 보여줄 Text의 배치 방식입니다.

가로정렬로서 LEFT, CENTER, RIGHT중에서 고를 수 있으며, 세로정렬로서 TOP, MIDDLE, BOOTM중에서 고를 수 있습니다. 정렬은 빈칸으로 구분하여 조합해야 합니다.

S/G

(단, Loading후에는 변경이 적용되지 않음)

X

QuickTabsTextFont

String

Internet Explorer 7.0의 QuickTabs페이지에서 보여줄 Text Font입니다.

문자열로 "FontFace, Size, &hellip;"와 같이 MiPlatform에서 Font를 입력하는 형식으로 입력하시면 됩니다.

S/G

(단, Loading후에는 변경이 적용되지 않음)

X

Hwnd

OLE_HANDLE

Stock Property로 MiPlatformMX control의 Window Handle입니다.

G

X

Method

예시는 UNICODE버전을 사용합니다.

<OBJECT ID="MiPlatformMX" width="70%" height="80%" Visible="true"
CLASSID="CLSID: 9070C3BF-877E-49CC-AAD0-A02389EEEB13"></OBJECT>

를 기본으로 합니다.

표 5-9MiPlatformMX의 Method

Method 이름

Parameter

return

설명

예시

DoRun



정의한 Property 값으로 MiPlatformMX를 실행합니다.

MiPlatformMX.DoRun();

SetGlobalVariableValue

strStartXML

strID

strValue

Bool

Global Variable Value를 설정합니다.

MiPlatformMX. SetGlobalVariableValue(MiPlatformMX. StartXML, "aa", "bb");

strStartXML: StartXML 경로 strID: Global Variable ID

strValue: 설정값

GetGlobalVariableValue

strStartXML

strID

String

Global Variable Value값을 받아옵니다.

MiPlatformMX. GetGlobalVariableValue (MiPlatformMX. StartXML, "aa");

strStartXML: StartXML 경로 strID: Global Variable ID

CallScript

strStartXML

strExpr

Bool

Script

Expression이나 Script를 실행합니다.

PlatformGlobal 영역에 있는 Script만 수행 가능합니다.

MiPlatformMX. CallScript(MiPlatformMX. StartXML, "Exfrm()"

strStartXML: StartXML 경로 strExpr: Expression 또는

IsLoadedPlatformGlobal

strKey

strStartXML

Bool

해당 Key, StartXML의PlatformGlobal의 Loading 여부

MiPlatformMX. IsLoadedPlatformGlobal (MiPlatformMX.Key, MiPlatformMX. StartXML)

strKey: Key값

strStartXML: StartXML 경로

CreateBitmap

strStartXML

strImageID

IPictureDisp*

StartXML에 정의된 Resource 파일안에 있는 이미지 handle을 받아옵니다.

CreateBitmap으로 받은 Handle을 DestroyBitmap을 통해 제거해야만 합니다.

CreateBitmap으로 받은 Handle은 MiPlatform이 공유하는 Handle입니다.

MiPlatformMX. CreateBitmap (MiPlatformMX.Key, MiPlatformMX. StartXML)

strStartXML: StartXML경로

strImageID: Image ID

DestroyBitmap

strStartXML

pDispBitmap

Bool

이미지 handle을 제거합니다.

strStartXML: StartXML 경로

pDispBitmap: 제거할 이미지

NewWindow

strID,

strUrl,

strArguement,

strWidth

strHeight

strOpenStyle,

strLeft,

strTop


MDI 형태에서 ChildFrame을 띄웁니다. Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 ChildFrame을 띄울 때는 ClientArea의 Title, Border, Status의 유무에 따라 전체 크기가 변경됩니다.

MiPlatformMX.NewWindow("MDIForm2","Tutorial::Login.xml","", "300","400"," resize=true closeflag=false status=false","-1", "-1");

strID: Form의 ID

strUrl: 화면 URL(Prefix::화면 이름)

strArgument: New Form을 띄울 때 Argument 값. Dialog, Open의 Argument 형식과 유사(a=b c=d 형식)

strwidth: Form의 width

strheight: Form의 height

strOpenStyle: 입력된 OpenStyle (resize=false closeflag = false 형식) Argument 형식과 유사

strleft: left

strtop: top

NewWindowEx

strID,

strStartXML

strSessionUrl,

strInitUrl,

strArguement,

strWidth,

strHeight,

strOpenStyle,

strLeft,

strTop


MDI 형태에서 ChildFrame을 띄웁니다. Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 ChildFrame을 띄울 때는 ClientArea의 Title, Border, Status의 유무에 따라 전체 크기가 변경됩니다. StartXML이 다른 경우에 사용됩니다.

MiPlatformMX.NewWindowEx("MDIForm2","file://D:\\Script\\MobileSMA_mit_main.xml", "MobileSMA::MainSession", "MobileSMA::MainLogin","", "300","400", " resize=true status=false closeflag=true","-1", "-1");

strID: Form의 ID

strStartXML: 다른 StartXML의 Form을 사용할 때 StartXML의 경로

strSessionUrl: SessionURL이 있는 경우 Session의 경로

strInitUrl: 화면 URL(Prefix::화면 이름)

strArgument: New Form을 띄울 때 Argument값

Dialog, Open의 Argument 형식과 유사(a=b c=d 형식)

strwidth: Form의 width

strheight: Form의 height

strOpenStyle: 입력된 OpenStyle (resize=false closeflag = false 형식) Argument 형식과 유사

strleft: left

strtop: top

InitSession

strStartXML

lSessionFlag


Session을 특정 상태로 초기화 합니다.

Session이 연결되지 않은채 Session을 사용하는 화면을 띄우면 Session이 연결될 때까지 SessionURL을 띄웁니다.

MiPlatformMX.InitSession(MiPlatformMX.StartXML, true);

strStartXML: StartXML 경로

lSessionFlag: SessionFlag로 true면 Session이 연결되도록 설정되고, false면 Session이 연결되지 않도록 설정됩니다.

CloseSession

strStartXML


Session 연결이 중지됩니다.

MiPlatformMX. CloseSession (MiPlatformMX.StartXML);

strStartXML: StartXML 경로

Exit

strStartXML

Bool

Form의 OnExit 함수를 호출합니다.

Script에서 Exit함수를 호출하는것과 동일하게 작동합니다. Event발생은

A. MiPlatformMX -BeforeExitApplication Event

B. Script - Global OnBeforeExit Event

C. Script - 열려진 모든 Form OnUnLoadCompleted Event

D. Script - Global OnExit Event

E. MiPlatformMX - ExitApplication Evnet

순으로 발생합니다. Event중에서 exit를 원하지 않게 return할 경우에는 그 이후의 Event는 발생하지 않습니다. Event별 자세한 사항은 해당 Event의 설명을 참고합니다.

MiPlatformMX.Exit(MiPlatformMX.StartXML);

GetPlatformOleControl


IUnknown*

MiPlatformMX가 내부적으로 사용하는 MiPlatformP의 유일값으로 PlatformGlobal을 구별하기 위한 값으로 사용합니다.

Var ret = MiPlatformMX.GetPlatformOlecontrol();

ShowMenuBar

bVisible

Bool

MiPlatformMX가 웹브라우저등과 같은 객체에 임베디드되어 사용될 때 상단에 표시되는 메뉴바를 감추거나 보이고자 할 때 사용합니다. 마이플랫폼 전용브라우저에서는 해당 메소드를 사용할 수 없습니다. 이 메소드는 DoRun() 메소드 이후에 호출해야 정상 동작합니다.

Var ret = MiPlatformMX.ShowMenuBar(false);

bVisible=false/true(false=감추기,true=보이기)

Event

Script 함수가 호출되었을 때 발생되는 Event는 Api 매뉴얼을 참고하십시오.

MiPlatformMX의 Event는 MiPlatformX가 받은 Event를 MiPlatformMX로 넘깁니다.

표 5-10MiPlatformMX의 Event

Event 이름

Parameter

설명

FormSize

strSendFormID,

lwidth,

lheight

MoveWindow에 의한 Size 변경 시 발생됩니다.

strSendFormID: Event를 발생시킨 Form의 ID

lwidth: 변경된 Form의 width

lheight: 변경된 Form의 Height

ShowStatusBar

strSendFormID,

bShow

StartXML Loading 중 ConnectionGroup의 Statusbar 속성에 따라 Event가 발생됩니다.

strSendFormID: Event를 발생시킨 Form의 ID

bShow: StatusBar 표시여부

NewWindow

strSendFormID,

strID,

strUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

MiPlatformX를 MDI 형태로 처리할 때 구현되며, MiPlatformX를 SDI 형태로 처리할 때는 구현되지 않습니다.

Script에서 NewWindow Api 호출 시(ChildForm을 띄울 때)발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 ChildFrame을 띄울 때는 ClientArea의 Title, Border, Status의 유무에 따라 전체 크기가 변경됩니다.(Script에서 NewWindow 호출 시)

strSendFormID: Event를 발생시킨 Form의 ID

strID: Form의 ID

strUrl: 화면 URL(Prefix::화면 이름)

strArgument: New Form을 띄울 때 Argument 값. Dialog, Open의 Argument 형식과 유사(a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle (resize=false closeflag = false 형식) Argument 형식과 유사

lleft: left

ltop: top

lwidth: Form의 width

lheight: Form의 height

Open

pDisp,

strUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

Open으로 화면을 띄울 때 발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 Open 창을 띄울 때는 ClientArea의 Title, Border에 따라 전체 크기가 변경됩니다. (Script에서 Open 호출 시)

3.2이전 버전에서는 Key처리가 제대로 되지 않아 Open Event에서 MiPlatformMX를 포함하고 있는 Browser의 Open창을 띄우도록 권고하였습니다. 하지만 3.2이후버전에서는 Open Event에서 따로 처리하는 작업이 없을 경우에는 MiPlatormMX에서 Open창을 띄워 줍니다. 이때 Key처리의 문제가 해결되었습니다.

pDisp: Event를 발생시킨 Form의 IDispatch

strUrl: Open할 화면 URL(Prefix::화면 이름)

strArguement: Argument (a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle(resize=false closeflag = false 형식) Argument 형식과 유사

lleft: left

ltop: top

lwidth: Form의 width

lheight: Form의 height

Dialog

pDisp,

strUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

Dialog로 화면을 띄울 때 발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 Dialog 창을 띄울 때는 ClientArea의 Title, Border에 따라 전체 크기가 변경됩니다. (Script에서 Dialog 호출 시)

3.2이전 버전에서는 Key처리가 제대로 되지 않아 Dialog Event에서 MiPlatformMX를 포함하고 있는 Browser의 Dialog창을 띄우도록 권고하였습니다. 하지만 3.2이후버전에서는 Dialog Event에서 따로 처리하는 작업이 없을 경우에는 MiPlatormMX에서 Dialog창을 띄워 줍니다. 이때 Key처리의 문제가 해결되었습니다.

pDisp: Event를 발생시킨 Form의 IDispatch

strUrl: Dialog로 띄울 화면 URL(Prefix::화면 이름)

strArguement: Argument (a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle(resize=false closeflag = false 형식) Argument 형식과 유사

lleft: left

ltop: top

lwidth: Form의 width

lheight: Form의 height

BeforeNavigate

strSendFormID,

strReqID,

strServiceID,

strUrl

해당 Url 경로로 Navigation을 시작할 때 발생됩니다.

strSendFormID: Event를 발생시킨 Form의 ID

strReqID: 해당 URL의 종류

(TobeForm, TobeImage, TobeDomain, TobeMain, TobeScript)

strServiceID: Prefix를 포함한 경로

strUrl: Prefix를 변환한 경로

Close

strSendFormID,

pbHandledFlag

MiPlatformMX의 Close()함수 호출 시 Closing Event 발생 후 IECloseFlag에 따라 CloseEvent가 발생됩니다.

대부분 Dialog Close 시 사용됩니다.

Script에서 Close() 호출 시 Form의 OnUnLoadCompleted Event가 발생후 Close Event가 발생됩니다.

(Script에서 Close() 함수 호출시 내부적으로 MiPlatformX의 기능을 활용하므로 MiPlatformX에서 Close Event가 발생하는 조건에 한해서 발생합니다.)

strSendFormID: Event를 발생시킨 Form의 ID

pbHandledFlag: Event 처리 여부

Lock

strSendFormID,

bLockFlag

Lock/Unlock 상태 변경 시 발생됩니다.

strSendFormID: Event를 발생시킨 Form의 ID

bLockFlag: Load되어 있는지 여부

NavigateComplete

strSendFormID,

strReqID,

strServiceID,

strUrl

해당 Url 경로로 Navigation이 끝날 때 발생됩니다.

(Form 단위로 발생하므로 여러 번의 BeforeNavigate가 발생해도 하나의 폼이면 한번만 발생합니다.)

strSendFormID: Event를 발생시킨 Form의 ID

strReqID: 해당 URL의 종류

(TobeForm, TobeMain)

strServiceID: Prefix를 포함한 경로

strUrl: 전체 경로

UnloadMenu


Menu를 UnLoad시킬 때 발생됩니다. (Script에서 UnLoadMenu 호출 시)

UnLoadMenu 함수는 지원하지 않으므로 Event가 발생하지 않습니다.

AddLogView

strSendFormID,

strMessage

LogView에 문자가 출력될 때 발생됩니다. (script에서 Trace 호출 시)

Script 실행 시 에러인 경우에 발생됩니다. IE 상에서 실행 중일때는 "TraceLog_MiPlatform.txt" 파일 이름으로 Log를 남깁니다.

strSendFormID: Event를 발생시킨 Form의 ID

strMessage: Log Message

Communication

strSendFormID,

bStart

통신을 시작되거나 통신이 끝난 경우 발생됩니다.

strSendFormID: Event를 발생시킨 Form의 ID

bStart: 통신 시작/종료 여부

JobCompleted

strSendFormID

strReqID

strServiceID

strURL

MiPlatformMX를 실행하기 위해 필요한 정보(StartXML, Resource, Dataset)가 전부 올라온 후에 발생됩니다

strSendFormID: Event를 발생시킨 Form의 ID

strReqID: TobeForm

strServiceID: 전체 경로

strUrl: 전체 경로

ShowTitleBar

strSendFormID,

bShow

StartXML Loading 중에 ConnectionGroup의 TitleBar 속성에 따라 Event가 발생됩니다.

strSendFormID: Event를 발생시킨 Form의 ID

bShow: TitleBar 표시 여부

Initialize

strSendFormID,

plhHostwnd

MiPlatformMX 생성되었을 때 발생됩니다. hosting하고 있는 window를 리턴합니다. IE에서는 설정하지 않습니다.

strSendFormID: Event를 발생시킨 Form의 ID

plhHostwnd: hosting하고 있는 Window 리턴

LoadCompleted

strSendFormID,

strReqID,

strServiceID,

strURL

MiPlatformMX가 실행될 때 각각 필요한 리소스, dataset, script등이 Load가 완료된 때에 발생됩니다.

strSendFormID: Event를 발생시킨 Form의 ID

strReqID: 해당 URL의 종류

(TobeForm, TobeImage,TobeDomain,TobeMain)

strServiceID: Prefix가 포함된 경로

strUrl: 전체 경로

LoadMenu

pICyDom

strStartXML

strURL

MDI에서 NewWindowEx를 통해서 Menu가 Load된 경우에는 현재 Menu가 변경되지 않습니다. 하지만 LoadMenu()함수를 호출한 경우에는 Menu가 변경됩니다.

Menu를 Load할 때 발생됩니다. (Script에서 LoadMenu 호출 시)

pICyDom: Load된 ICyDom 형태의 Menu

strStartXML: MainStartXML

strURL: 현재 실행 중인 StartXML

UserNotify

strSendFormIDlNotifyID,

strMsg

사용자가 정의한 메시지를 발생시킬 때 발생됩니다. (Script에서 UserNotify 호출 시)

strSendFormID: Event를 발생시킨 Form의 ID

lNotifyID: Script에서 발생시킨 NotiftID

strMsg: Script에서 발생시킨 메시지

PlatformError

lError,

strErrorMsg

Error가 났을 때 발생됩니다.

lError: Error Code

strErrorMsg: Error Message

NewWindowEx

strSendFormID,

strID,

strStartXMLUrl

strSessionUrl,

strInitUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

MiPlatformX를 MDI 형태로 처리할 때 구현되며, MiPlatformX를 SDI 형태로 처리할 때는 구현되지 않습니다.

Script에서 NewWindow Api 호출 시(ChildForm을 띄울 때)발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 ChildFrame을 띄울 때는 ClientArea의 Title, Border, Status의 유무에 따라 전체 크기가 변경됩니다. (Script에서 NewWindowEx 호출 시)

strSendFormID: Event를 발생시킨 Form의 ID

strID: Form의 ID

strStartXMLUrl: 다른 StartXML의 Form을 사용할 때 StartXML의 경로

strSessionUrl: SessionURL이 있는 경우 Session 경로

strInitUrl: 화면 URL(Prefix::화면 이름)

strArgument: New Form을 띄울 때 Argument값

Dialog, Open의 Argument 형식과 유사(a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle (resize=false closeflag = false 형식) Argument 형식과 유사

lleft: left

ltop: top

lwidth: Form의 width

lheight: Form의 height

Activate

strSendFormID

Form이 활성화 될 때 발생됩니다. (Script에서 Form에 Focus() 호출해 Active 시킬 경우)

strSendFormID: Event를 발생시킨 Form의 ID

(일부 Open, Dialog 메소드 호출에 의해 생성된 폼의 경우 내부적으로 MiPlatformX를 공유하게 되어 부모폼의 ID 표시)

ExitApplication

strSendFormID

Application을 종료할 때 발생됩니다. (script에서 Exit 호출 시)

strSendFormID: Event를 발생시킨 Form의 ID

Visible

strSendFormID,

bShow

Visible 상태가 변경될 때 발생됩니다.

strSendFormID: Event를 발생시킨 Form의 ID

bShow: Visible 상태

BeforeExitApplication

pbExitFlag

MiPlatformMX의 Exit()함수를 호출하거나 Script에서 Exit()함수를 호출한 경우에는 가장먼저 발생하는 Event로 IE에서 IECloseFlag에 false를 설정하면 Exit작업이 중단됩니다. IECloseFlag를 설정하지 않거나 true로 설정하면 Exit작업 순서에 따라 Event가 발생합니다. 이미 ExitApplication Event가 발생하면 엔진단이 내려간 상태이므로 Browser의 ExitApplication Event에서 종료하는 작업만 가능합니다.

pbExitFlag:Exit할지 여부를 설정

MiPlatformMX의 사용예

예시는 MiPlatformMX의 UNICODE버전을 사용합니다.

<HTML>
<HEAD>
<TITLE>MiPlatformMX Demo Page</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function fn_load()
{
    MiPlatformMX.Key = "Demo";
    MiPlatformMX.StartXML = "http://your.site.com/key/StartXML.xml";
    MiPlatformMX.DoRun();
}

</SCRIPT>

<SCRIPT LANGUAGE=javascript FOR=MiPlatformMX EVENT=AddLogView(strMsg)>
    alert("AddLogView"+strMsg);
</SCRIPT>

</HEAD>
<BODY LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BOTTOMMARGIN="0" SCROLL="no" onload="fn_load()">

<OBJECT ID="MiPlatformMX" BORDER="0" WIDTH="800" HEIGHT="800"
    CLASSID="CLSID: 9070C3BF-877E-49CC-AAD0-A02389EEEB13"> 
</OBJECT>
</BODY>
</HTML>

5.1.5MiPlatformMX 플러그인

MiPlatformMX 플러그인은 MDI 형태를 지원하는 멀티 브라우저 지원(Cross-Platform 구현)용 프로그램입니다. ActiveX인 MiPlatformMX은 Microsoft사의 Internet Explorer 브라우저만 지원하므로 보다 다양한 브라우저를 지원하기 위해 NPAPI(Netscape Plugin Application Programming Interface)를 지원하는 모든 브라우저에서 쓸 수 있도록 모질라 플러그인 기술을 접목한 모듈입니다.

MiPlatformMX 플러그인이 지원하는 브라우저는 아래와 같습니다.(기준날짜 : 2010년 2월)

브라우저명

실행모듈명

최소지원 버전

권장적용버전

비고

파이어폭스

firefox.exe

2.0.20, 3.0.5

3.5


구글 크롬

chrome.exe

1.0.154.48

2.0.172.33


Flock

flock.exe

2.0.3

2.5


애플 사파리

Safari.exe

525.27.1

4.0(530.17)


오페라

opera.exe

9.0.0.6

9.64(10487)


플러그인 기술은 브라우저에 종속된 기능이므로 가급적 권장 버전을 사용하시기 바라며, 브라우저의 기능 및 정책에 따라 제약이 있을 수 있습니다. 이 경우 마이플랫폼의 기능에 한해 마이플랫폼 기술지원 정책에 따라 지원을 받으실 수 있습니다.

이하 언급되지 않은 부분은 MiPlatformMX와 동일하므로 생략합니다.

제약 사항

지원하지 않는 기능

발견된 문제점

MiPlatformMX 플러그인의 사용예

예시는 MiPlatformMX 플러그인의 UNICODE버전을 사용합니다.

<HTML>
<HEAD>
<TITLE>MiPlatformMX Demo Page</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function CreateMiPlatformCtrlPlugin330_XU()
{
  document.write(' <embed type="application/mozilla-MiPlatformMX330U-plugin" width=100% height=100% id=" MiPlatformMX" > ');
}

function fn_load()
{
    MiPlatformMX.Key = "Demo";
    MiPlatformMX.StartXML = "http://your.site.com/key/StartXML.xml";
    MiPlatformMX.DoRun();
}

</SCRIPT>

<SCRIPT LANGUAGE=javascript FOR=MiPlatformMX EVENT=AddLogView(strMsg)>
    alert("AddLogView"+strMsg);
</SCRIPT>

</HEAD>
<BODY LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BOTTOMMARGIN="0" SCROLL="no" onload="fn_load()">
<SCRIPT language="javascript" >
    CreateMiPlatformCtrlPlugin330_XU();
</SCRIPT>
</BODY>
</HTML>

5.1.6MiPlatformP

MiPlatformP는 StartXML의 정보를 관리하는 ActiveX입니다.

MiPlatformP는 단독으로 사용할 수 없으며 MiPlatformX와 같이 사용해야 합니다. MDI 형태를 지원하기 위한 ActiveX이기 때문에 IE에서는 지원하지 않습니다.

MiPlatformP는 UNICODE 버전과 ANSI 버전이 있으며 기능은 서로 같습니다. 두 가지 버전을 동시에 설치할 수도 있습니다.

MiPlatformP의 CLSID

표 5-11MiPlatformP의 CLSID

버전

CLSID

UNICODE

{1719128B-B96D-47D5-8E09-D355E055179E }

ANSI

{56CE3290-7CA9-45E2-A115-606005CD6A90 }

MiPlatformP의 Property/Method/Event

Property

Property는 존재하지 않습니다.

Method

예시는 UNICODE버전을 사용합니다.

<OBJECT ID="MiPlatformP" width="0" height="0" Visible="true"
CLASSID="CLSID: 1719128B-B96D-47D5-8E09-D355E055179E"></OBJECT>

를 기본으로 합니다.

표 5-12MiPlatformP의 Method

Method명

Parameter

return

설명

예시

GetConnectionGroupInfo

strStartXML

IDispatch*

해당 StartXML의 ConnectionGroup 정보를 받아옵니다.

MiPlatformP. GetConnectionGroupInfo (MiPlatformX.StartXM:L);

strStartXML: StartXML

CreateBitmap

strStartXML

strImageID

IPictureDisp*

StartXML에 정의된 Resource 파일 안에 들어있는 이미지 handle을 받아옵니다.

CreateBitmap으로 받은 Handle을 DestroyBitmap을 통해 제거해야만 합니다.

CreateBitmap으로 받은 Handle은 MiPlatform이 공유하는 Handle입니다.

MiPlatformP. CreateBitmap (MiPlatformX. StartXML, "IDB_ICO");

strStartXML: StartXML

strImageID: Image ID

DestroyBitmap

strStartXML

pDispBitmap

Bool

이미지 handle을 제거합니다.

MiPlatformP. DestroyBitmap (MiPlatformX. StartXML, 핸들값);

strStartXML: StartXML

pDispBitmap : 제거할 이미지

GetMenu

strStartXML

IAxDOM*

StartXML의 Menu를 받아옵니다.

MiPlatformP. GetMenu(MiPlatformMX. StartXML, "Exfrm()"

strStartXML: StartXML

CallScript

strStartXML

strExpr

Bool

StartXML을 사용하는 PlatformGlobal에서 Script를 실행합니다.

MiPlatformP. CallScript(MiPlatformMX.Key, MiPlatformMX. StartXML)

strStartXML: StartXML

strExpr: Script 이름

AddChildForm

strStartXML

lNo


StartXML을 사용하는 PlatformGlobal의 Child로 생성된 Form을 추가합니다. Child Form의 GetFormNo() 값을 넘겨줍니다.

MiPlatformP.AddChildForm(MiPlatformX.StartXML, MiPlatformX.GetFormNo());

strStartXML: StartXML 경로

lNo: Child Form의 Pointer

GetColorValue

strStartXML

strColor

bRGB

Long

Color값을 요청하면 실제 Color값을 받아옵니다.

var ret = MiPlatformP. GetColorValue(MiPlatformX.StartXML,"red", false);

strStartXML: StartXML 경로

strColor: Color String

bRGB: False(내부적으로 UserColor, SystemColor 사용 여부)

InitSession

strStartXML,

lSessionFlag


Session을 특정 상태로 초기화 합니다.

Session이 연결되지 않은채 Session을 사용하는 화면을 띄우면 Session이 연결될 때까지 SessionURL을 띄웁니다.

MiPlatformP.InitSession(MiPlatformX.StartXML, true);

strStartXML: StartXML

lSessionFlag: SessionFlag로 true면 Session이 연결되도록 설정됩니다, false면 Session이 연결되지 않도록 설정됩니다.

Exit

strStartXML

Bool

Global의 OnExit Event를 발생합니다. Exit함수를 호출하기 전에 BeforeExit함수를 미리 호출하여 종료가 가능한지 점검합니다.

var ret = MiPlatformP.Exit(MiPlatformX.StartXML);

CloseSession

strStartXML


Session 연결이 중지됩니다.

MiPlatformP. CloseSession (MiPlatformX.StartXML);

strStartXML: StartXML

IsLoadedPlatformGlobal

strKey

strStartXML

Bool

해당 Key, StartXML의PlatformGlobal의 Loading 여부

MiPlatformP. IsLoadedPlatformGlobal (MiPlatformMX.Key, MiPlatformMX. StartXML)

strKey: Key

strStartXML: StartXML 경로

GetStartXML

strKey

String

Key에 해당하는 StarXML을 받아옵니다.

var ret = MiPlatformP.GetStartXML()

strKey: Key값

SetGlobalVariableValue

strStartXML

strID

strValue

Bool

StartXML을 사용하는 PlatformGlobal의 Global Variable Value를 설정합니다.

MiPlatformP. SetGlobalVariableValue (MiPlatformX. StartXML, "aa", "bb");

strStartXML: StartXML

strID: Global Variable ID

strValue: 설정값

GetGlobalVariableValue

strStartXML

strID

Sting

StartXML을 사용하는 PlatformGlobal에서 Global Variable Value값을 받아옵니다.

MiPlatformP. GetGlobalVariableValue (MiPlatformX. StartXML, "aa");

strStartXML: StartXML

strID: Global Variable ID

BeforeExit

strStartXML

Bool

Script에서 Exit를 호출할 경우 먼저 BeforeExit Event를 발생시키기 위해 필요한 함수로 종료 여부를 Script에서 받아 처리합니다.

MiPlatformP.BeforeExit (MiPlatformX.StartXML);

strStartXML: StartXML

CallEvent

strStartXML,

bstrEventName,

VarArg


MiPlatform의 Event를 발생하도록 합니다.

특수한 일부 Event만 가능합니다.

Var arg;
MiPlatformP. CallEvent(MiPlatformX. StartXML, "OnActivate", arg)&rsquo;;

strStartXML: StartXML

bstrEventName:발생시키고자하는 Event 명

VarArg:Event 발생시 인자들

GetPlatformOleControl


IUnknown*

MiPlatformP의 유일값으로 PlatformGlobal을 구별하기 위한 값으로 사용합니다.

Var ret = MiPlatformP.GetPlatformOlecontrol();

Event

Script 함수가 호출되었을 때 발생되는 Event는 Api 매뉴얼을 참고하십시오.

표 5-13MiPlatformP의 Event

Event명

Parameter

설명

LoadStarted

pDisp

strReqID,

strServiceID

strUrl

Size 변경 시 발생됩니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strReqID: 해당 URL의 종류

(TobeForm, TobeImage, TobeDomain, TobeMain)

strServiceID: Prefix가 포함된 경로

strUrl: 전체 경로

Lock

pDisp,

bLockFlag

Lock/Unlock 상태 변경 시 발생됩니다.

pDisp: Event를 발생시킨 Component의 IDispatch

bLockFlag: Load 여부

AddLogView

pDisp

strMessage

LogView에 문자가 출력될 때 발생됩니다. (script에서 Trace 호출 시)

Script 실행 시 에러인 경우에 발생됩니다. IE 상에서 실행 중일때는 "TraceLog_MiPlatform.txt" 파일 이름으로 Log를 남깁니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strMessage: Log Message

Communication

pDisp

bStart

pDisp: Event를 발생시킨 Component의 IDispatch

bStart: 통신의 시작/종료 여부

통신이 시작되거나 통신이 끝난 경우 발생됩니다.

ShowTitleBar

pDisp

bShow

StartXML Loading 중에 ConnectionGroup의 TitleBar 속성에 따라 Event가 발생됩니다.

pDisp: Event를 발생시킨 Component의 IDispatch

bShow: TitleBar 표시 여부

LoadCompleted

pDisp

strReqID

strServiceID

strURL

MiPlatformX가 실행될 때 각각의 필요한 리소스, dataset, script 등의 Load가 완료된 때 발생됩니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strReqID: 해당 URL의 종류

(TobeForm, TobeImage, TobeDomain, TobeMain)

strServiceID: Prefix가 포함된 경로

strUrl: 전체 경로

LoadMenu

ICyDom

strStartXML

strURL

strFont

MDI에서 NewWindowEx를 통해서 Menu가 Load된 경우에는 현재 Menu가 변경되지 않습니다. 하지만 LoadMenu()함수를 호출한 경우에는 Menu가 변경됩니다.

Menu를 Load할 때 발생됩니다. (Script에서 LoadMenu 호출 시)

pICyDom: Load된 ICyDom 형태의 Menu

strStartXML: MainStartXML

strURL: 현재 실행 중인 StartXML

strFont: 변경된 Font 정보

MDIInfo

ICyDom

StartXML Loading 중에 MDIInfo 정보가 있는 경우에 발생됩니다.

IcyDom: MDIInfo Dom

PlatformError

pDisp

lError

strErrorMsg

동작 오류가 발생 했을 때 발생됩니다

pDisp: Event를 발생시킨 Component의 IDispatch

lError: Error Code

strErrorMsg: Error Message

ShowStatusBar

pDisp

bShow

StartXML Loading 중에 ConnectionGroup의 Statusbar 속성에 따라 Event가 발생됩니다.

pDisp: Event를 발생시킨 Component의 IDispatch

bShow: StatusBar 표시 여부

DockInfo

ICyDom

StartXML Loading 중에 DockInfo 정보가 있는 경우에 발생됩니다.

IcyDom:MDIInfo Dom

NewWindow

pDisp,

strID,

strUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

pbHandledFlag,

plResult

MiPlatformX를 MDI 형태로 처리할 때 구현되며, MiPlatformX를 SDI 형태로 처리할 때는 구현되지 않습니다.

Script에서 NewWindow Api 호출 시(ChildForm을 띄울 때)발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 ChildFrame을 띄울 때는 ClientArea의 Title, Border, Status의 유무에 따라 전체 크기가 변경됩니다. (Script에서 NewWindow 호출 시)

pDisp: Event를 발생시킨 Component의 IDispatch

strID: Form의 ID

strUrl: 화면 URL(Prefix::화면 이름)

strArgument: New Form을 띄울 때 Argument 값. Dialog, Open의 Argument 형식과 유사(a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle (resize=false closeflag = false 형식) Argument 형식과 유사

lleft: left

ltop: top

lwidth: Form의 width

lheight: Form의 height

pbHandledFlag: Event 처리 여부

plResult:생성된 Form의 Handle 값을 설정 후 리턴

NewWindowEx

pDisp

strID,

strStartXMLUrl

strSessionUrl,

strInitUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

pbHandledFlag,

plResult

MiPlatformX를 MDI 형태로 처리할 때 구현되며, MiPlatformX를 SDI 형태로 처리할 때는 구현되지 않습니다.

Script에서 NewWindow Api 호출 시(ChildForm을 띄울 때) 발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 ChildFrame을 띄울 때는 ClientArea의 Title, Border, Status의 유무에 따라 전체 크기가 변경됩니다. (Script에서 NewWindowEx 호출 시)

pDisp: Event를 발생시킨 Component의 IDispatch

strID: Form의 ID

strStartXMLUrl: 다른 StartXML의 Form을 사용할 때 StartXML의 경로

strSessionUrl: SessionURL이 있는 경우 Session 경로

strInitUrl: 화면 URL(Prefix::화면 이름)

strArgument: New Form을 띄울 때 Argument값

Dialog, Open의 Argument 형식과 유사(a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle (resize=false closeflag = false 형식) Argument 형식과 유사

lleft: left

ltop: top

lwidth: Form의 width

lheight: Form의 height

pbHandledFlag: Event 처리 여부

plResult:생성된 Form의 Handle 값을 설정 후 리턴

Open

pDisp,

strUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

pbHandledFlag,

plResult

Open으로 화면을 띄울 때 발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 Open 창을 띄울 때는 ClientArea의 Title, Border에 따라 전체 크기가 변경됩니다. (Script에서 Open 호출 시)

MiPlatformP는 단독으로 쓰일수 없기 때문에 MiPlatformMX에서 사용한다는 가정하에서 제작 되었습니다. 이 때문에 3.2이전 버전에서는 일부 Key처리가 제대로 되지 않아 Open Event에서 MiPlatformMX를 포함하고 있는 Browser의 Open창을 띄우도록 권고하였습니다. 하지만 3.2이후버전에서는 Open Event에서 따로 처리하는 작업이 없을 경우에는 MiPlatormMX에서 Open창을 띄워 줍니다. 이때 Key처리의 문제가 해결되었습니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strUrl: Open할 화면 URL(Prefix::화면 이름)

strArguement: Argument (a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle(resize=false closeflag = false 형식) Argument 형식과 유사

lleft: left

ltop: top

lwidth: Form의 width

lheight: Form의 height

pbHandledFlag: Event 처리 여부

plResult:생성된 Form의 Handle 값을 설정 후 리턴

Dialog

pDisp,

strUrl,

strArguement,

strOpenStyle,

lleft,

ltop,

lwidth,

lheight,

pvarResult,

pbHandledFlag

Dialog로 화면을 띄울 때 발생됩니다. . Width, Height는 Form의 ClientArea 영역을 의미합니다. 실제로 Dialog 창을 띄울 때는 ClientArea의 Title, Border에 따라 전체 크기가 변경됩니다.

Dialog Event는 StartXML에 SessionURL이 있는 경우에 발생되며 SessionDialog를 처리할 때 사용합니다.

이 때 OpenStyle값은 SessionOpenStyle에 "Session=false, startxml=StartXML URL" 값이 더해집니다. (Script에서 Dialog 호출 시)


MiPlatformP는 단독으로 쓰일수 없기 때문에 MiPlatformMX에서 사용한다는 가정하에서 제작 되었습니다. 이 때문에 3.2이전 버전에서는 일부 Key처리가 제대로 되지 않아 Dialog Event에서 MiPlatformMX를 포함하고 있는 Browser의 Dialog창을 띄우도록 권고하였습니다. 하지만 3.2이후버전에서는 Dialog Event에서 따로 처리하는 작업이 없을 경우에는 MiPlatormMX에서 Dialog창을 띄워 줍니다. 이때 Key처리의 문제가 해결되었습니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strUrl: Dialog로 띄울 화면 URL(Prefix::화면 이름)

strArguement: Argument (a=b c=d 형식)

strOpenStyle: 입력된 OpenStyle(resize=false closeflag = false 형식) Argument 형식과 유사

lleft: left

ltop: top

lwidth: Form의 width

lheight: Form의 height

pvarResult:Dialog 종료시 리턴 값

pbHandledFlag: Event 처리 여부

JobCompleted

pDisp

strReqID

strServiceID

strURL

MiPlatformX를 실행하기 위해 필요한 정보(StartXML, Resource, Dataset)가 모두 올라온 후에 발생됩니다

pDisp: Event를 발생시킨 Component의 IDispatch

strReqID: TobeForm

strServiceID: 전체 경로

strUrl: 전체 경로

ExitApplication


Application을 종료할 때 발생됩니다. (script에서 Exit 호출 시)

ArrangeWindow

pDisp

strArrangeStyle

MDI인 경우에만 발생되며 MDI 창 정렬 시 발생됩니다.(script에서 arrangewindow 호출 시)

pDisp: Event를 발생시킨 Component의 IDispatch

strArrangeStyle: MDI 배열 Style

EnableMenuItem

strID,

bEnable

Enable 여부를 변경할 때 발생됩니다. (script에서 EnableMenuItem 함수 호출 시)

strID: MenuItem의 ID

bEnable: True/False

GetPosition

strID,

plValue

Script에서 해당 PositionID의 좌표값을 얻어오는 함수를 호출했을 때 발생됩니다. (Script에서 Window.Position을 받아오는 함수 호출 시)

strID: Position ID

plValue: Position

SetPosition

strID,

lValue

strID: Position ID

lValue: Position

Script에서 해당 Position ID의 좌표값을 설정하는 함수를 호출했을 때 발생됩니다. (Script에서 Window.Position을 받아오는 함수 호출 시)

SetWindowPosition

lLeft,

lTop,

lWidth,

lHeight

Script에서 해당 윈도우의 Position을 변경할 때 발생됩니다. 강제로 WindowPosition을 바꿀 때는 Width, Height 정보를 ClientArea 영역의 Border, Title, Status 부분을 고려하여 설정합니다.

lleft: left값

ltop: Top값

lwidth: Width 값

lheight: Height 값

GetPlatformInfo

strType,

strSubType,

pstrRetVal

Script에서 Platform 정보를 얻어오는 함수를 호출했을 때 발생됩니다. (argument는 GetPlatformInfo 함수 참고)

strType: Platform에서 제공되는 정보 Type

strSubType: Platform에서 제공되는 정보 Type의 SubType

pstrRetVal: 해당되는 값을 return

GetTitle

pstrRetVal

Script에서 Title 값을 받을 때 발생됩니다.

pstrRetVal: 현재 Title의 값

SetTitle

strTitle

Title 값이 변경되었을 때 발생됩니다.

strTitle: Title값

UserNotify

lNotifyID, strMsg

사용자가 정의한 메시지를 발생시킬 때 (Script에서 UserNotify 호출 시)

lNotifyID: Script에서 발생시킨 NotiftID

strMsg: Script에서 발생시킨 메시지

ChangedGlobalInfo

strType,

strValue

Global 속성 중에서 변경하는 항목이 생긴 경우 발생됩니다. (script에서 ChangedGlobalInfo 호출 시)

strType: 변경된 Global 속성 Type

strValue: 변경된 Global 속성값

BeforeExitApplication

pbExitFlag

MiPlatformP의 BeforeExit()함수를 호출하거나 Script에서 Exit()함수를 호출한 경우에는 가장 먼저 발생하는 Event입니다. MiPlatformP와 연계된 MiPlatformMX에서 종료작업을 진행한 후 마지막 종료할때에는 MiPlatformP의 ExitApplication Event가 발생합니다. 내부적으로 MiPlatformP의 ExitApplication은 MiPlatformMX의 Event로 발생합니다.

3.2이후버전에서 추가된 기능입니다.

pbExitFlag:Exit할지 여부를 설정

AddFrame

pDisp

bstrID

bstrInitURL

nLeft

nTop

nWidth

nHeight

strAlign

nIndex

nSubIndex

strStyle

pHandledFlag

plResult

Script에서 AddFrame Api 호출 시(DockBar를 띄울 때)발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strID: Form의 ID

strInitUrl: 화면 URL(Prefix::화면 이름)

nleft : left

ntop : top

nwidth: Form의 width

nheight: Form의 height

strAlign:DockBar의 초기 Docking위치

nIndex:DockBar가 생성될 때 초기 위치

nSubIndex:DockBar가 생성될 Index값에서의 Sub Posiotin값

strStyle: Frame을 띄울 때 설정할 수 있는 option 정보

각 값에 대한 구분은 공백으로 하며, 값은 id=value 의 형태로 입력합니다

pbHandledFlag: Event 처리 여부

plResult:생성된 Form의 Handle 값을 설정 후 리턴

AddFrameEx

pDisp

bstrID

bstrStartXML

bstrSessionUrl

bstrInitURL

nLeft

nTop

nWidth

nHeight

strAlign

nIndex

nSubIndex

strStyle

pHandledFlag

plResult

Script에서 AddFrameEx Api 호출 시(DockBar를 띄울 때)발생됩니다. Width, Height는 Form의 ClientArea 영역을 의미합니다.

pDisp: Event를 발생시킨 Component의 IDispatch

strID: Form의 ID

strStartXMLUrl: 다른 StartXML의 Form을 사용할 때 StartXML 경로

strSessionUrl: SessionURL이 있는 경우 Session 경로

strInitUrl: 화면 URL(Prefix::화면 이름)

nleft : left

ntop : top

nwidth: Form의 width

nheight: Form의 height

strAlign:DockBar의 초기 Docking위치

nIndex:DockBar가 생성될 때 초기 위치

nSubIndex:DockBar가 생성될 Index값에서의 Sub Posiotin값

strStyle: Frame을 띄울 때 설정할수 있는 option 정보

각 값에 대한 구분은 공백으로 하며, 값은 id=value 의 형태로 입력합니다

pbHandledFlag: Event 처리 여부

plResult:생성된 Form의 Handle 값을 설정 후 리턴

MiPlatformP의 사용예

MiPlatformP 예제는 Visual Basic에서 구현되었습니다.

1~4 라인: Visual Basic에서 MiPlatformP를 하나 생성하고 MiPlatformP의 JobCompleted Event를 처리합니다. Event 내에서는 MiPlatformP에서 제공되는 GetStartXML()함수를 호출합니다.

6~11 라인: StartXML에 SessionURL이 있는 경우 MiplatformP1_Dialog Event가 발생되며 Session Dialog를 직접 처리합니다. SessionDialog에서는 MiPlatformP의 InitSession()함수를 호출해서 session을 처리합니다.

다음은 간단한 샘플 코드로 MDI일 경우에만 사용할 수 있습니다.

Private Sub MiplatformP1_JobCompleted(ByVal pDisp As Object, ByVal bstrReqID As String, ByVal bstrServiceID As String, ByVal bstrUrl As String)
    MsgBox MiplatformP1.GetStartXML(MiplatformX1.Key)
    MsgBox bstrServiceID
End Sub

Private Sub MiplatformP1_Dialog(ByVal pDisp As Object, ByVal bstrUrl As String, ByVal Arguement As String, ByVal OpenStyle As String, ByVal left As Long, ByVal top As Long, ByVal width As Long, ByVal height As Long, pbstrResult As Variant, pHandledFlag As Boolean)
    pHandledFlag = True
    pbstrResult = "true"
    Dim Dlg As New Dialog
    Dlg.Show vbModal
End Sub

5.1.7CyAxDom

CyAxDom은 XML Dom 접근 방법을 제공하는 ActiveX입니다.

MiPlatformX, MiPlatformP, MiPlatformMX의 return값 중 하나로 사용됩니다. 예를 들어 메뉴 정보를 받아 개발 환경에 맞게 메뉴를 구성할 수 있습니다.

ActiveX로 UNICODE 버전과 ANSI 버전이 있으며 기능은 서로 같습니다. 두 가지 버전을 동시에 설치할 수도 있습니다.

CyAxDom의 CLSID

표 5-14CyAxDom의 CLSID

버전

CLSID

UNICODE

{8C23C1F9-E7BC-4B8B-A909-8F77AA2B36B2}

ANSI

{CE02CC26-C962-4A89-BF8A-53C260DED2D2}

CyAxDom의 Property/Method/Event

Property

표 5-15CyAxDom의 Property

Property 이름

입력값/형태

설명

SET/GET

여부

필수

여부

TagName

String

Tag Name

G

X

AttributeCount

Long

Attribute Count

G

X

ElementCount

Long

Element Count

G

X

Method

Method 이름

Parameter

return

설명

예시

Attribute

lIdx

String

Index에 해당하는 Attribute값을 받아옵니다.

AxDom. Attribute ();

lIdx : Index값.

NamedAttribute

strAttrID

String

특정 이름의 Attribute값을 받아옵니다.

AxDom. NamedAttribute (MiPlatformMX. StartXML, "aa", "bb");

strAttrID : Attribute 이름

Element

lIdx

IDispatch*

Index에 해당하는 Element를 받아옵니다.

AxDom.Element(0);

lIdx : Index값

CyAxDom의 사용예

CyAxDom 예제는 Visual Basic에서 구현되었습니다

다음은 간단한 샘플 코드로 MDI일 경우에만 사용할 수 있습니다.

Visual Basic에서 MiPlatformP를 하나 생성한 후 MDIInfo Event를 처리하는 샘플입니다.

Private Sub MiplatformP1_MDIInfo(ByVal ICyDom As Object)
    Dim CyDom As MIPLATFORMXLib.CyAxDom
    Set CyDom = ICyDom
    Dim nCnt, nSubCnt As Integer
    Dim i As Integer
    Dim AttrStr As String
    nCnt = CyDom.ElementCount
    AttrStr = CyDom.TagName

    For i = 0 To nCnt - 1
        Dim SubEle As MIPLATFORMXLib.CyAxDom
            Set SubEle = CyDom.Element(i)
            nSubCnt = SubEle.ElementCount
            MsgBox SubEle.Attribute(0)
     Next i

End Sub

5.2MiUpdater

5.2.1MiUpdater란

MiUpdater란 MiPlatform를 사용하기 위한 모듈을 배포하고 버전을 관리하는 프로그램입니다.

MiUpdater는 MiInstaller(MiInstlr331.dll)라는 실제 핵심 동작을 하는 ActiveX 모듈과 MiUpdater(MiUpdater331.exe)라는 UI를 담당하는 EXE모듈이 있습니다. 또한 필요에 의해 Windows용 Cab 설치를 보조하기 위한 CyInstlr.exe가 포함되어 있습니다.

CyInstlr.exe에 대해서는 별도로 설명하지 않습니다.

MiUpdater의 UI는 일정한 수준 내에서 사용자에 의해 맞추어 사용할 수 있으며, MiInstaller를 사용해 업데이트 프로그램을 제작 사용할 수 있습니다.

5.2.2MiUpdater의 구성

MiInstaller

웹 또는 이미 개발된 Application에서 MiPlatform에 필요한 파일을 배포하고 버전을 관리하는 ActiveX입니다.

MiInstaller에서 Update Info File 및 Updat eList File을 다운로드 하여 사용자 장치에 저장된 버전정보(Update Info File, Update List File)와 비교를 수행합니다. 또한 비교 결과를 바탕으로 배포 작업을 수행합니다. 마지막으로 설치된 상태를 다시 버전 정보파일로 사용자 장치에 기록하게 됩니다.

* 버전 정보를 저장하는 공간은 MiPlatform의 버전에 따라 다르게 관리됩니다. MiPlatform 3.3 UNICODE버전의 경우 "%USERAPP%\TOBESOFT\MiPlatform330U\Ver\"가 해당 위치가 됩니다. 파일명은 서버의 버전 정보 파일의 URL을 Hash로 변경하여 저장하기 때문에 중복되지 않습니다.

MiInstaller 3.31은 MiInstaller 3.3에서 보안 문제를 수정한 버전입니다. 관련 기능에 대한 문의는 고객지원부를 통해 주시길 바라며, 기존 기능을 유지하고 싶으신 분은 MiInstaller 3.3를 계속 이용하실 수 있습니다.

MiInstaller의 CLSID

표 5-16MiInstaller의 CLSID

버전

CLSID

MiInstaller 3.3

{1A000B1F-B285-4fbf-B3CD-B50845003EBA}

MiInstaller 3.31

{1A000B1F-B285-4fbf-B3CD-B50845003EBB}

MiInstaller의 Property/Method/Event

Property, Method, Event를 설명할 때 사용할 전제에 대한 설명합니다.

Property

R(Registry)이 선택된 Property는 설정값을 정하지 않는 경우, Property 설정값으로 Registry에 있는 값이 사용됩니다. Registry값은 Key에 해당되는 Registry값이 우선으로 적용되며, Key에 해당되는 Registry값이 없는 경우에는 Settings의 Registry값이 적용됩니다. Registry에도 값이 없는 경우에는 각 항목별 Default값이 적용됩니다. R(Registry)가 설정된 Property는 레지스트리에 설정값이 자동으로 기록됩니다.

MiPlatform이 실행될 때 참고하는 Registry 위치는 부록을 참고하십시오.

U:MiUpdater, P:MiPlatform, R:Registry (굵은글씨는 필수값)

표 5-17MiInstaller의 Property

Property

default

U

P

R

Data Type

SET/

GET

여부

설명

DeviceType

WIN32(PC용)

CE(PDA용)



STR

S/G

배포 대상이 되는 장치를 지정하는 값.

PDA에서는 CE만을 허용 합니다.

DeviceType의 값에 따라 설치 경로, 실행 정보등이 변경 됩니다.


WIN32U : MiPlatform UNICODE 버전

WIN32: MiPlatform ANSI버전

SIMU : MiSimulator UNICODE버전

SIM : MiSimulator ANSI버전

CE: PDA용 MiPlatform

Version

3.0



STR

S/G

MiPlatform의 제품 버전

( 3.0, 3.1, 3.1L, 3.11, 3.2, 3.3)

MiPlatform 3.x버전에 대해 지원합니다.

대상이 되는 파일의 경로, 실행시 설정값등이 Version에 따라 설정됩니다.

Key


STR

S/G

MiPlatform으로 운영할 서비스의 Key.

Key값은 MiPlatform으로 특정 서비스를 접근할 때 필요한 모든 기본 정보의 저장소를 구분하기 위한 값 입니다.

(StartXML, ComponentPath등 대부분의 정보가 Registry에 저장됨.)

SiteKey



STR

S/G

고객사별 Key값 중복을 방지하기 위한 고유값.

당사(TOBESOFT)에서 발급됩니다.

Site별 Key로 SiteKey가 있는 경우 사용하게 되면 Registry의 Key값이 생성될 때 반영됩니다. 주로 회사 외부로 공개되는 서비스 사이트를 개발할 때 사용됩니다.

UpdateURL



STR

S/G

Update Info File의 URL.

배포 작업을 위해 UpdateURL이 필요합니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

StartXML


STR

S/G

MiPlatform에서 사용할 StartXML의 URL 또는 파일 경로.

MiPlatform구동을 위해 필수적인 값 입니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

ComponentPath

""

STR

S/G

MiPlatform용 Component의 경로.

Alias를 사용해 입력할 수 있습니다.

단, Alias로 %COMPOENT%는 사용하지 않아야 합니다.

MiPlatform의 Component경로는 고객사 별로 설정할 것을 권장 합니다.

Windows VISTA의 OS에서의 권한문제를 해결 하기 위해서는 %USERAPP%하위의 경로로 설정해야 합니다.

(ex) %USERAPP%\TOBESOFT\MiPlatform330U\Component\

Alias에 대한 항목은 "7.2 MiUpdater에서 사용하는 Alias 목록"을 참고하십시오.

Left

-1

(Center)

LONG

S/G

MiPlatform을 구동 할 때 좌측의 좌표.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

Top

-1

(Center)

LONG

S/G

MiPlatform을 구동 할 때 상단의 좌표.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

Width

800

STR

S/G

MiPlatform을 구동 할 때 넓이.

숫자 또는 "max"를 사용할 수 있습니다.

"max"를 지정하면 전체 화면으로 인식합니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

Height

600

STR

S/G

MiPlatform을 구동 할 때 높이.

숫자 또는 "max"를 사용할 수 있습니다.

"max"를 지정하면 전체 화면으로 인식합니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

OnlyOne

False

BOOL

S/G

MiPlatform을 Key와 Version당 하나만 구동 되도록 할지 여부,

MiPlatform 전용 브라우저를 사용하는 경우에만 적용됩니다.

개발자용 브라우저에서는 무시합니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

Resource


STR

S/G

MiPlatform에서 사용되는 Resource 파일 경로.

파일 이름만 있는 경우에는 ComponentPath경로에서 파일을 찾습니다.

MiPlatform의 Resource는 XML형태로 제작된 정보 값입니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

GlobalVal


STR

S/G

MiPlatform과 연동 작업을 위해 할당된 변수.

MiPlatform에서 "GetReg()" API를 사용해 접근이 가능합니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

Launch

True



BOOL

S/G

Update를 실행한 후 MiPlatform의 실행 여부

MiInstaller에서는 사용하지 않습니다.

Run()메소드와 연관 됩니다.

ReInstall

False



BOOL

S/G

기존의 배포 상태를 무시할지 여부.

ReInstall이 TRUE로 설정되면 기록된 버전 정보 파일을 무시 합니다.

그러나 "system::"을 사용 했다면 기존에 설치되어 있는 파일을 참조할 가능성이 있습니다.

UResource

""


STR

S/G

MiUpdater가 사용한 Resource 파일경로.

MiUpdater의 입력 인자 중 -URES를 참조 하십시오.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

UpdateHandle




STR

S/G

MiPlatform이 실행될 때 Destroy하는 MiUpdater의 Handle.

MiUpdater를 사용하는 경우에만 사용됩니다.

VersionLocalFile





STR

G

MiInstaller가 현재 작업중인 버전 정보 파일의 파일명.

각 Event에서 메시지 출력 또는 확인을 위해 사용됩니다.

ErrorCode





LONG

G

실행 중에 발생된 오류 코드값.

ErrorMsg





STR

G

실행 중에 발생된 오류 코드에 해당하는 메시지 문자열

Retry

2

LONG

S/G

MiPlatform에서 통신 연결 재시도 할 횟수.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

TimeOut

30

LONG

S/G

MiPlatform에서 통신 연결 대기시간(초).

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

PreVersionCompare

False


BOOL

S/G

Update Info File의 버전과 Update Info File에 설정된 Update List File의 버전 비교 여부.

통신 사용량에 민감한 PDA에서 주로 사용되는 기능이며, PreVersion Compare를 사용시 Update Info File의 세심한 관리가 필요합니다.

ExistVersionUpCnt() 함수 또는 StartDownlaod()를 호출하기 전에 설정 해야 합니다.

Update Info File만을 받는 것으로 업데이트 여부를 확인할 수 있습니다.

StartImage


STR

S/G

MiPlatform용 Splash화면에 표시될 이미지 파일의 경로.

Splash 화면은 MiPlatform에서 StartXML을 로딩하기 전까지 표시됩니다.

기본적으로 MiPlatform의 내장 이미지가 사용되며, 별도로 지정시 해당 이미지가 사용됩니다.

지정된 Image의 크기에 맞도록 splash화면의 크기가 변경 됩니다.

경로는 %alias%형태로 입력할 수 있습니다.

Alias에 대한 항목은 "7.2 MiUpdater에서 사용하는 Alias 목록 "을 참고하십시오.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

Scroll

False

BOOL

S/G

MDI에서 MDI Client영역(바탕화면)에 Scroll 사용 여부.

SDI에서는 지원되지 않습니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

UBKImage



STR

S/G

MiUpdater의 배경화면 Image

MiUpdater의 "-BI"를 사용하십시오.

NotLaunchForErr

False



BOOL

S/G

에러가 발생했을 때 MiUpdater에서MiPlatform 실행 여부.

MiUpdater를 사용할 경우만 이용됩니다.

MiUpdater의 "-NLE"옵션을 참고 하십시오.

UpdateKillMiplatform

CONFIRM

O



STR

S/G

MiInstaller가 배포 작업을 시작할 때 대상버전의 MiPlatform을 어떻게 처리 할지 여부와 업데이트 도중 복사에 실패한 File의 처리 방법을 결정하는 Property입니다.

(Version 2 확장 객체부터 사용가능합니다.)

이 기능은 MSI형태의 패키지에는 적용되지 않으며 MSI형태의 패키지는 MSIEXEC의 기능에 따라 동작합니다.

CONFIRM : 기본값. Update시작 시점에서 OnConfirm을 발생하며 2번째 인자의 값에 따라서 대상 버전의 MiPlatform을 강제 종료하거나, 무시하고 진행합니다.

KILL : Update 시작 시점에서 OnConfirm을 발생하지 않고, 대상 버전의 MiPlatform을 강제 종료 하고 진행합니다.

NOKILL : Update 시작 시점에서 OnConfirm을 발생하지 않고, 대상 버전의 MiPlatform을 종료하지 않고 진행합니다. 또한 중간에 복사에 실패한 경우 재 부팅후 복사가 진행되도록 조치후 진행합니다.

( NLE옵션을 TRUE로 주는 경우 NOKILL이면서 복사에 실패한 기록이 있다면 MiPlatform이 Launch되지 않습니다.)

CONFIRMONFAILED : Update시작 시점에서 OnConfirm을 발생하지 않고, 대상 버전의 MiPlatform을 종료하지 않고 진행합니다. 단, 복사에 실패한경우 대상 File과 관련 Process를 출력하여 사용자에게 처리 방법을 질의 합니다.(질의 전에 OnConfirmEx이벤트가 발생하게 됩니다.)

EventReturn


O



VARIANT

S/G

Event에서 Return값을 처리하기 위해 사용하는 임시 변수 입니다.

(Version 2 확장 객체부터 사용가능합니다.)

입력 값의 종류 및 내용은 각 Event를 참조하십시오.

cf) OnConfirmEx

Method

표 5-18MiInstaller의 Method

Method

Data Type

Parameter

Description

AddAlias

Void

strAliasID,

strDefaultURL

strDeviceType

Not USE.

(내부적으로만 사용됨)

StartDownload

Void


MiInstaller에 배포 작업을 하도록하는 함수.

MiInstaller는 해당 명령을 받으면 배포를 시작하게 됩니다.

StartDownload()는 Blocked Call 이므로 작업 완료전까지 Return하지 않습니다.

Stop

Void


다운로드를 멈추는 함수.

Run

Void


전용 브라우저를 실행하는 함수.

DeviceType 및 Version에 따라 실행할 전용 브라우저가 자동으로 선택됩니다.

ParseMPLFile

Void

strMPLFile

Not USE

(내부적으로만 사용됨)

ExistVersionUpCnt

BOOL


배포 필요성을 확인하는 함수.

배포가 필요하다면 TRUE가 return되며, 배포할 대상이 없다면 FALSE가 return됩니다.

PerVersionCompare Property에 따라 동작이 달라질 수 있습니다.

OnStartDownLoad와 OnEndDownload를 발생합니다.

통상적으로 True인 경우 StartDownload()를 실행하고 False인경우 페이지 전환 또는 Run()을 실행 하도록 스크립트를 작성합니다.

MakeShortCut

void

strExeName,

strCommand,

strShortcutName,

strIConPath,

strPos,

바로가기를 사용자 장치에 생성하는 함수.

strExeName: 바로가기의 대상이 되는 실행 파일명.

경로를 포함하여 입력해야 합니다. alias형태를 사용 가능합니다.

strCommand: 대상 실행 파일이 실행될 때 입력될 인자값.

strShortcutName: 바로가기 이름.

strIConPath: 바로가기의 아이콘 파일.

Windows에서 허용하는 파일(.ico, .dll, .exe)을 사용할 수 있으며 여려개의 이미지가 있다면 첫번째 아이콘이 사용됩니다.

전체 경로를 입력해야 되며, alias형태의 경로를 사용 할 수 있습니다.

strPos: 바로가기가 생성될 위치.

다음 4가지 예약어가 사용 가능합니다.

Startmenu -시작메뉴

desktop -바탕화면(Default)

StartUp - 모든 프로그램에 시작 프로그램

Programs - 모든 프로그램

예약어로 제외한 경로 이외에는 사용이 불가합니다.

키워드의 하위경로에 바로가기를 생성하기 위해서는 "예약어:하위경로"의 입력할 수 있습니다.

ex) "Programs:MiPlatform\Demo"

Alias는 "7.2 MiUpdater에서 사용하는 Alias 목록"을 참고하십시오.

Reserved


bstrID,

varArgs

pvarOutput

pvarRet

차후 사용될 확장 기능을 위한 예약 함수.

현재는 기능이 없습니다.

(Version 2 확장 객체부터 사용가능합니다.)

IsUACEnabled

BOOL

Void

Windows VISTA의 UAC옵션 상태를 확인하는 함수.

True가 되돌려진경우 Windows VISTA의 UAC기능이 설정되어 있습니다.

False 가 되돌려진경우 Windows VISTA가 아니거나, Windows VISTA의 UAC기능이 해제되어 있는 경우 입니다.

(Version 3확장 객체부터 사용 가능합니다.)

IsElevatedProcess

BOOL

Void

Windows VISTA에서 UAC옵션 활성시 현재 Process가 관리자 권한 획득 여부를 확인하는 함수.

True가 되돌려진경우 Windows VISTA에서 관리자 권한을 획득한 상태 입니다.

False 가 되돌려진경우 Windows VISTA가 아니거나, Windows VISTA에서 관리자 권한을 획득하지 않은 상태 입니다.

관리자 권한 획득한 경우(IsElevatedProcess = true)

1. 사용자 id가 Administrator인 경우.

2. 관리자권한 계정으로 로긴하여 process기동시&lsquo;관리자권한획득실행&rsquo;을 했을 경우

(Version 3확장 객체부터 사용 가능합니다.)

IsMiPlatformRunning

BOOL

Void

데이트 대상 버전의 MiPlatform의 Process가 있는지 여부를 확인하는 함수.

True가 되돌려진 경우, MiPlatform이 실행중인 상태 입니다. 다만, 업데이터에서 실행중인 Process의 Key가 현재 대상 Key와 일치여부를 확인하지 않습니다.

False가 되돌려진 경우 MiPlatform이 실행중인 상태가 아닙니다.

Windows VISTA에서 관리자 권한으로 실행된 MiPlatform에 대해서는 기능이 정상 동작하지 않을 수 있습니다.

(Version 3확장 객체부터 사용 가능합니다.)

AliasToRealPath

String

strAliasPath

Alias로 되어 있는 경로의 실제 경로값을 구하는 함수.

Alias로 되어 있는 파일경로를 실제 파일 경로로 변경합니다. 다만 사용전에 Device/Version등을 설정해야 정상적으로 변환이 가능합니다.

(Version 3확장 객체부터 사용 가능합니다.)

strAliasPath : Alias로 설정된 경로

ex) %UserApp%TobeSoft\Demo\

MiUpdater에서 사용가능한 모든 Alias에 대해 해당 기능을 지원합니다. Alias는 "7.2 MiUpdater에서 사용하는 Alias 목록"을 참고하십시오

IsAdministratorsGroup

BOOL

Void

현재 실행하는 프로세스의 계정이 Admin 권한으로 실행되고 있는지 검사합니다.

Vista의 경우 권한 상승의 과정이 있을 경우 상승 전에는 FALSE, 상승 후에는 TRUE의 값을 얻게 됩니다.

(Version 3확장 객체부터 사용 가능합니다.)

Event

표 5-19MiInstaller의 Event

Event

parameter

Occurs

OnError

DownFileName

ErrorCode

ErrorMsg

MiInstaller에서 배포 작업 중 에러가 발생한 시점에서 발생하는 Event.

DownFileName: 에러 발생 시 DownFileName

ErrorCode: 실행 중 에러 코드

ErrorMsg: ErrorCode에 해당하는 메시지

OnStartDownLoad

ConfigFileName

DownFileName

Type

TotalCnt

CurIndex(0부터시작)

MiInstaller에서 작업시작을 알리는 Event.

Type에 따라 작업의 내용이 달라 집니다.

ConfigFileName: 처리중인 버전 정보 파일의 이름.

(Update Info File 또는 Update List File의 이름.)

DownFileName: 처리중인 파일의 이름 이름

Type: 작업의 형태.(숫자로 출력됨)

1 : EVENTCONFIG : 배포 작업 시작

2 : EVENTGETVERSIONCNT : 버전 정보 비교 시작

3 : EVENTDOWNLOAD : 설치 대상 파일 다운로드 시작

4 : EVENTDISTRIBUTE : 설치 작업 진행 시작

TotalCnt: 전체 작업 예정 개수

CurIndex: 작업목록에서 작업중인 파일의 Index.

OnEndDownLoad

ConfigFileName

DownFileName

Type

TotalCnt

CurIndex(0부터 시작)

MiInstaller에서 작업끝을 알리는 Event.

ConfigFileName: 처리중인 버전 정보 파일의 이름.

(Update Info File 또는 Update List File의 이름.)

DownFileName: 처리중인 파일의 이름 이름

Type: 작업의 형태.(숫자로 출력됨)

1 : EVENTCONFIG : 배포 작업 종료

2 : EVENTGETVERSIONCNT : 버전 정보 비교 완료

3 : EVENTDOWNLOAD : 설치 대상 파일 다운로드 완료

4 : EVENTDISTRIBUTE : 설치 작업 진행 완료

TotalCnt: 전체 작업 예정 개수

CurIndex: 작업목록에서 작업중인 파일의 Index.

OnConfirm

bReBoot

pbRet

배포 작업중에 전용 브라우저가 실행되고 있다면 발생하는 이벤트.

UpdateKillMiplatform Property에 따라 발생 시점이 변경됨. ( UpdateKillMiplatform을 참조하십시오.)

bReBoot: 다운로드할 파일이 실행 중 (항상 TRUE가 됩니다.)

pbRet: Return값.

true면 해당 파일을 자동 종료하고 다운로드 진행

false면 해당 파일을 자동 종료하지 않고 다운로드 진행

  • Windows Vista의 LowIL에서 동작할 경우 정상 동작하지 않을 수 있습니다.

OnProgress

DownFileName

Progress

progressMax

StatusText

파일 다운로드 진행 상태를 알려주는 Event.

DownFileName: 현재 다운로드하는 파일 이름

Progress: 다운로드 진행 상태 값(숫자)

ProgressMax: 다운로드 진행 상태의 최대값(숫자)

StatusText: 상태 정보 (문자열)

OnConfirmEx

Type

varInfo

pbstrMsg

MiInstaller가 사용자에게 질의할 문제가 있는경우 발생하는 Event입니다.

(Version 2 확장 객체부터 사용발생합니다.)

Type : 질의할 항목. ( 문자열 )

varInfo : 추가적인 정보. ( 임의의 형태, Type에 따라 변경됨)

pbstrMsg : 질의 메시지.

pbstrMsg를 변경하여 되돌리면 그 메시지로 MiInstaller에서 대신 질의하게 됩니다.

OnConfirmEx의 처리 결과를 EventReturn에 설정하면 그 값에 따랏 별도의 질의 없이 진행하게 됩니다.

각 값의 의미와 내용은 다음표를 참조하십시오.

Type

설명

KILL

복사중 실패하여 일부 프로그램을 종료해야 하는 상황에 발생함.

varInfo는 종료되어야 하는 프로그램의 목록이 배열로 입력됩니다.

EventReturn으로 2, 6, 7이 입력 가능하며, 6이면 해당 프로그램을 강제 종료후 진행, 7은 종료하지 않고 진행(단, 재부팅시 복사함), 2는 업데이트 실패로 진행됩니다.

EventReturn이 없거나 다른 값인경우 2로 간주됩니다.

OnReservedEvent

Event

varArg

앞으로 추가될 이벤트를 위한 Interface로 현재는 기능이 없습니다. (Version 2 확장 객체부터 사용발생합니다.)

MiInstaller 사용해서 Update하는 예시 (HTML에서 바로 Update를 하는 예시)

Launch File(HTML)을 이용한 경우로써, 배포 방법1, 배포 방법2가 여기에 속합니다.

배포 방법1의 Launch File을 발췌하여 설명합니다.

<HTML>
<HEAD>
    <TITLE> 배포 방법 1의 예제</TITLE>
    <META http-equiv="Content-Type" content="text/html; charset=euc-kr">
    <SCRIPT language="JavaScript" type="Javascript/text" for="MiInstlr"
        event="OnEndDownLoad(VersionFileName,DownFileName,Type,TotalCnt,CurIndex)" >
        if ( Type == 1 ) // EVENTCONFIG
        {
            //TotalVersionFileCnt = TotalCnt;
            alert("Install Completed !! ");
            // MiPlatform 뷰어가 포함된 HTML 페이지로 이동
            window.location = "./MiPlatformView.html";
        }
    </SCRIPT>
    <SCRIPT language="JavaScript" type="JavaScript/text">
        function fnonload() {
            var bIsNeedUpdate = MiInstlr.ExistVersionUpCnt(); 
            if ( bIsNeedUpdate )
                MiInstlr.StartDownload();
            else
            {
                // 배포 대상이 없으므로 MiPlatform 뷰어가 포함된 HTML 페이지로 이동
                window.location = "./MiPlatformView.html";
            }
        }
    </SCRIPT>
</HEAD>
<BODY onload="fnonload">
    <SCRIPT language="JavaScript" type="Javascript/text"  src="./MiInstlr.js"></SCRIPT>
    <SCRIPT language="JavaScript" type="Javascript/text" >
        CreateMiInstlr("./MiUpdater331.cab","2009,4,1,1","MiInstlr",
            "WIN32U","3.3","Demo");
        MiInstlr.Launch = false;
        MiInstlr.UpdateURL = "http://your.site.com/site/update/update-info-file.xml";
        MiInstlr.StartXML = "http://your.site.com/site/key/StartXML.xml";
        MiInstlr.Componentpath = "%UserApp%\\Company\\KeyName\\Component";
    </SCRIPT>
</BODY>
</HTML>

MiUpdater

MiUpdater는 MiInstaller를 독립적인 Application의 형태로 사용하기 위한 프로그램입니다.

MiUpdater는 MiInstaller를 사용하므로 MiInstaller의 기능을 대부분 사용할 수 있습니다.

(MakeShortcut과 같이 일부 Method처리가 불가능한 부분은 제외됨)

MiUpdater는 UI가 기본적으로 지정되어 있으나, 당사에서 제시한 형태의 Update Resource(DLL형태)를 제작하거나, 옵션을 통해 이미지를 변경하여 사용할 수 있습니다.

PDA용 MiUpdater에는 전화 접속 처리 등, 일부 부가 기능이 제공 됩니다.

MiUpdater의 인자값 - 인자 입력 방법1

MiUpdater를 사용하기 위해서는 MiUpdater의 기본 동작 및 대상 MiPlatform 버전을 특정해 주어야 합니다. 인자는 이러한 값을 MiUpdater에 전달하는 값입니다.

인자값은 "-"로 구분되는 인자의 구분 값과 인자값을 쌍으로 해서 입력가능합니다.

Ex) ...\MiUpdater331.exe -R FALSE -L TRUE -D WIN32U -V 3.3 -K Demo

바로가기 ICON에 입력할 수 있는 인자를 정리하면 다음 [표 5-21]와 같습니다.

다음 5개의 인자를 입력하지 않으면, 정상 동작하지 않습니다.

-L : Lauch
-R : Reinstall
-D : DeviceType
-V : Version
-K : Key

각각의 의미와 입력값은 [표 5-21]을 참조 하십시오.

파라미터들의 자세한 설명은 MiInstaller의 Property를 참고합니다.

PDA의 경우 Updator를 이용하여 실행 시킬 때 문자열 길이 265바이트에 대해 제약사항이 발생합니다.

파라미터들의 길이의 총합이 265바이트를 넘는 경우 뒷문자들이 무시됩니다.

해결방법은 각각의 파라미터들과 연계되어 있는 Registry값을 사용자가 입력 후 사용하는 방법입니다. 문자열이 짤려서 잘못된 값을 넘겨주는 경우 정상적인 동작이 안될 수도 있습니다. 하지만 이 같은 경우 Registry에 값이 등록되어 있다면 이값을 이용하게 됩니다.

Registry 정보는 MiInstaller의 Property를 참고합니다.

(굵은글씨는 필수 옵션, 옵션 이름은 MiInstaller와 대응 됩니다.)

표 5-20바로가기 ICON에 입력할 수 있는 OPTION

(입력 Argument 설명)

입력값

설명

Option

옵션 이름


프로그램 이름

C:\WINNT\system32\

MiUpdater331.exe

%SYSTEM%MiUpdater331.exe

(바로가기 만들기로 생성할 때 사용)

-L

Launch

True / False

배포 작업 완료 시점에 전용 브라우저를 구동할지 여부.

Update될 Device와 Version에 따라 각각 다른 파일이 실행됩니다.

MiInstaller의 Run()메소드를 사용하므로 실행에 대해서는 MiInstaller의 Run()메소드를 참조 하십시오.

동작 방식을 지정하는 값이므로 필수로 입력해야 합니다.

MiInstaller의 Launch와 대응됩니다.

-R

ReInstall

True / False

기존 설치 정보를 무시하고 진행할 지 여부.

동작 방식을 지정하는 값이므로 필수로 입력해야 합니다.

MiInstaller의 Reinstall을 참조하십시오.

-D

DeviceType

WIN32/WIN32U/

SIM/SIMU

CE

배포 대상이 되는 장치를 지정하는 값.

배포대상 및 실행 대상을 지정하는 값이므로 필수로 입력해야 합니다.

MiInstaller의 DeviceType을 참조하십시오.

-V

Version

3.0/3.1/3.1L/3.11/3.2/

3.3

MiPlatform의 제품 버전.

배포대상 및 실행 대상을 지정하는 값이므로 필수로 입력해야 합니다.

Miinstaller의 Version을 참조 하십시오.

-DPI

DeviceDPInfo

96/128/192

MiPlatform CE 버전에서만 적용되는 내용.

배포대상 머신의 DPI값을 입력하여 화면의 사이즈를 변경합니다.

Omnia1, 2의 경우 192DPI를 이용하여 480*800의 화면을 지원합니다.

Default값은 96DPI입니다.(240*400)

-K

Key

Key값.

MiPlatform으로 운영할 서비스의 Key.

대상 서비스를 지정하는 값이므로 필수로 입력해야 합니다.

MiInstaller의 Key를 참조 하십시오.

-SK

SiteKey

SiteKey값.

고객사별 Key값 중복을 방지하기 위한 고유값.

당사(TOBESOFT)에서 발급됩니다

MiInstaller의 SiteKey를 참조 하십시오.

-U

UpdateURL

Update Info File의 URL.

Update Info File의 URL.

배포 작업을 위해 UpdateURL이 필요합니다.

입력하지 않는 다면 기존에 설정된 값으로 사용됩니다.(Registry에 Key별로 보관됨)

-X

StartXML

StartXML의 URL/

StartXML의 파일 경로

MiInstaller에 전달할 StartXML의 URL 또는 파일 경로.

MiPlatform구동을 위해 필수적인 값 입니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

-C

ComponentPath

Component가 있는 경로

MiPlatform용 Component의 경로.

MiPlatform에서 사용할 Component의 경로를 입력합니다.

Alias를 사용해 입력할 수 있습니다.

단, Alias로 %COMPOENT%는 사용하지 않아야 합니다.

입력하지 않는 다면 기존에 설정된 값으로 사용됩니다.(Registry에 보관됨)

MiInstaller의 ComponentPath를 참조하십시오.

-Lf

Left

숫자

(default값: -1로Center)

마이플랫폼 구동 할 때 위치값.

값이 없으면 Registry값을 사용합니다.

MiInstaller의 각 Property를 참조하십시오.

-Tp

Top

숫자

(default값: -1로 Center)

-Wd

Width

숫자/max

(default값: 600)

-Ht

Height

숫자/max

(default값: 800)

-OO

OnlyOne

True/False

(Default값:False)

MiPlatform을 Key와 Version당 하나만 구동 되도록 할지 여부,

입력하지 않는 다면 기존에 설정된 값으로 사용됩니다.(Registry에 보관됨)

MiInstaller의 OnlyOne을 참조 하십시오.

-RES

Resource

Resource 경로

MiPlatform에서 사용되는 Resource 파일 경로.

파일 이름만 있는 경우에는 ComponentPath경로에서 파일을 찾습니다.

MiPlatform의 Resource는 XML형태로 제작된 정보 값입니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

-GV

GlobalVal

MiPlatform에 전달될 값

MiPlatform과 연동 작업을 위해 할당된 변수.

MiPlatform에서 "GetReg()" API를 사용해 접근이 가능합니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

-URES

UResource

Updater Resource 경로

MiUpdater가 사용할 Resource 파일경로.

UResource가 없으면 기본 UI가 사용되며, Uresource가 있다면 해당 Resource가 가진 화면 정보 및 에러 코드를 사용합니다.

Uresource에 사용될 파일은 Resource DLL의 형태로 제작 되어야 합니다.

파일 이름만 있는 경우에는 ComponentPath경로에서 파일을 찾습니다.

UResource의 경로는 %alias%형태로 입력할 수 있습니다.

Alias에 대한 항목은 "7.2 MiUpdater에서 사용하는 Alias 목록"을 참고하십시오.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

-IRES

IResource

Installer Resource

MiInstaller가 사용할 Resource 파일경로.

String table의 값을 갖습니다. Updater 구동 시 -IRES로 지정된 xml 파일의 String으로 기본 Resource String Table을 대체 합니다.

Local 경로 와 서버의 경로를 통한 다운로드를 통해 Loading이 가능합니다.

-Rt

Retry

재시도 횟수

(Default 값: 2)

MiPlatform에서 통신 연결 재시도 할 횟수.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

-TO

TimeOut

대기시간(초)

MiPlatform에서 통신 연결 대기시간(초).

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

-P

PreVersionCompare

True/False

Update Info File의 버전과 Update Info File에 설정된 Update List File의 버전 비교 여부.

자세한 사항은 MiInstaller의 PreVersionCompare를 참조 하십시오.

-G

StartImage

Image경로.

MiPlatform용 Splash화면에 표시될 이미지 파일의 경로.자세한 사항은 MiInstaller의 StartImage를 참조하십시오.

%Alais%형태로 입력할 수 있습니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

-SC

Scroll

True/False(Default)

MDI에서 MDI Client영역(바탕화면)에 Scroll 사용 여부.

SDI에서는 지원되지 않습니다.

입력하지 않는다면 기존에 설정된 값을 사용합니다.(Registry에 보관됨)

-BI

UBKImage

Image경로

MiUpdater의 배경화면 Image.

MiUpdater의 기본 화면에서 배경 이미지만 바꿀 때 사용됩니다. 화면의 배치나 메시지를 수정하는 경우에 Resource dll을 직접 제작하여 사용할 수 있습니다.

UBKImage의 경로는 %alias%형태로 입력할 수 있습니다.

Alias는 "7.2 MiUpdater에서 사용하는 Alias 목록"을 참고하십시오.

-NLE

NotLaunchForErr

True/False

(Default값:False)

오류가 발생했을 때 MiUpdater에서MiPlatform 실행 여부.

MiUpdater를 사용할 경우만 이용됩니다.

True면 오류가 발생된 경우 MiPlatform을 구동하지 않습니다.

False면 오류와 관계 없이 작업 완료 후MiPlatform을 구동합니다.

UpdateURL의 설정값이 없거나, UpdateURL 경로가 잘못 지정된 경우에는 이 옵션에 관계없이 MiPlatform을 띄웁니다.

-UKM

UpdateKillMiplatform

Kill/NoKill/Confirm(Default)/ConfirmOnFailed

MiInstaller가 배포 작업을 시작할 때 대상버전의 MiPlatform을 어떻게 처리 할지 여부와 업데이트 도중 복사에 실패한 File의 처리 방법.

자세한 사항은 MiInstaller의 UpdateKillMiPlatform을 참조하시기 바랍니다.

-MS


메모리 크기(Byte)

프로그램을 실행하기 위한 최소 요구 메모리 크기.

PDA용 MiUpdater에서만 제공됩니다.

-MG


에러메세지

-MS 인자에서 받은 값보다 현재 사용가능한 메모리가 작을 경우에 띄울 에러메세지

에러 메시지를 띄우고 Updater 프로그램을 종료합니다.

PDA용 MiUpdater에서만 제공됩니다.

-KM


True/False

(Default값:False)

메모리를 체크하기 전에 MiPlatform을 종료할지 여부

PDA용 MiUpdater에서만 제공됩니다.

-CM


True/False

(Default값:False)

MiPlatform을 종료할 때 확인 메시지를 띄울지 여부

PDA용 MiUpdater에서만 제공됩니다.

-RC


True/False

(Default값:False)

Updater후 다시 한번 메모리 체크를 할지 여부

PDA용 MiUpdater에서만 제공됩니다.

바로가기 대상값에 입력한 String의 예

C:\WINNT\system32\MiUpdater331.exe -R false -L true -D WIN32U -V 3.3 -K key

위의 인자는 LaunchFile에서 다음과 같이 사용이 가능합니다.(배포 방법3인 경우)

<HTML>
<HEAD>
<TITLE> 배포 방법 3의 예제</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=euc-kr">
<SCRIPT language="JavaScript" type="JavaScript/text">
    function fnonload() {
        MiInstlr.MakeShortCut("%system%\\MiUpdater331.exe", 
            "-R false -L true -D WIN32U -V 3.3 -K key",
            "Site Name", 
            "%UserApp%\\Company\\KeyName\\icon.ico", "desktop");
    }
</SCRIPT>
</HEAD>

인자 입력 방법2

MiUpdater의 구버전에서부터 사용되어 오던 방법이나, 3.0용으로만 사용됩니다.

바로가기 ICON에 입력할 수 있는 파라미터는 [표 5-22]과 같습니다.

표 5-21바로가기 ICON에 입력할 수 있는 파라미터

입력 Argument

(설명)

동일한 옵션명

입력값

설명

0

프로그램 이름


C:\WINNT\system32\MiUpdater331.exe

%System%MiUpdater331.exe

(바로가기 만들기 생성시 입력값)

1

DeviceType

-D

WIN32/ WIN32U /

SIM / SIMU /

CE

배포 대상이되는 장치 종류.

2

ReInstall

-R

True / False

재배포 동작여부.

3

Key

-K

Demo, MyKey,...

서비스의 구분 값.

4

Launch

-L

True / False

배포 완료후 MiPlatform실행여부.

5

StartXML

-X

StartXML의 URL 또는 파일 경로.

StartXML의 URL 또는 파일 경로.

6

UpdateURL

-U

UpdateURL의 URL.

Update Info File의 URL.

바로가기 대상값에 입력한 String의 예

C:\WINNT\system32\MiUpdater331.exe "Sim" "FALSE" "Demo" "TRUE" "http://your.site.com/key/StartXML.xml" "http://your.site.com/update/update-info-file.xml"

MPL2파일 형식

MPL2파일이란?

MPL은 "MiPlatform Launcher"의 약자로, MiPlatform을 구동하는데 필요한 정보가 저장된 파일 입니다.

MPL에는 DeviceType, Version, Key등 MiInstaller에서 사용하는 설정값이 저장 될 수 있습니다.

MPL2파일은 바로가기 아이콘의 대용으로 사용되며, MiUpdater와 파일 형식이 연결되어 있으므로 더블클릭하는 것 만으로사용자는 MiUpdater를 구동할 수 있습니다.

3.1버전의 MiUpdater에서는 확장자로 .mpl을 사용하며, 3.2이후버전의 MiUpdater에서는 확장자로 .mpl2를 사용합니다. MPL과 MPL2는 대부분의 내용은 동일하며 일부 추가 된 내용이 존재 합니다.

MPL2파일의 작성

MPL2파일은 XML형태로 작성되며, 구조는 Dataset XML 구조로 되어 있습니다.

값은 상수 컬럼을 이용해 입력 합니다.

DeviceType인자는 Dataset의 ID로 설정됩니다.

(Dataset구조는 "6.1 XML Format"을 참조하십시오)

MPL2파일에 포함가능한 인자이름 및 대응되는 MiInstaller의 Property는 [표 5-23]과 같습니다.

각 인자에 대한 설명은 MiInstaller를 참조하십시오.

Name

설명

MiInstaller의 Property

MiUpdater의 Argument

Dataset의 ID

배포 대상이 되는 장치

DeviceType

-D

Launch

배포 작업 완료 시점에 전용 브라우저를 구동할지 여부.

Launch

-L

ReInstall

기존 설치 정보를 무시하고 진행할 지 여부.

Reinstall

-R

Version

제품 버전

Version

-V

Key

운영할 서비스의 Key

Key

-K

SiteKey

Site별 Key

SiteKey

-SK

UpdateURL

Update Info File의 URL

UpdateURL

-U

StartXML

StartXML의 URL

StartXML

-X

ComponentPath

Component의 경로

ComponentPath

-C

Left

마이플랫폼 구동 할 때 위치값.

Left

-Lf

Top

Top

-Tp

Width

Width

-Wd

Height

Height

-Ht

OnlyOne

MiPlatform을 하나만 띄우기 위한 설정값

OnlyOne

-OO

Resource

MiPlatform에서 사용되는 Resource 파일 경로.

Resource

-RES

GlobalVal

MiPlatform과 연동 작업을 위해 할당된 변수.

GlobalVal

-GV

UResource

MiUpdater가 사용할 Resource 파일경로.

UResource

-URES

Retry

MiPlatform이 실행될 때 사용하는 통신 연결 retry 횟수

Retry

-Rt

TimeOut

MiPlatform이 실행될 때 사용하는 통신 연결TimeOut

TimeOut

-TO

PreVersionCompare

Update Info File의 버전과 Update Info File에 설정된 Update List File의 버전 비교 여부.

PreVersionCompare

-P

StartImage

MiPlatform용 Splash화면에 표시될 이미지 파일의 경로.

StartImage

-G

Scroll

MDI에서 MDI Client영역(바탕화면)에 Scroll 사용 여부

Scroll

-SC

UBKImage

MiUpdater의 배경화면 Image.

UBKImage

-BI

NotLaunchForErr

오류가 발생했을 때 MiUpdater에서MiPlatform 실행 여부.

NotLaunchForErr

-NLE

UpdateKillMip

MiInstaller가 배포 작업을 시작할 때 대상버전의 MiPlatform을 어떻게 처리 할지 여부와 업데이트 도중 복사에 실패한 File의 처리 방법.

UpdateKillMiplatform

-UKM

REQMEMSIZE

프로그램을 실행하기 위한 최소 요구 메모리 크기(PDA전용)

없음

-MS

MESSAGE

-MS 인자에서 받은 값보다 현재 사용가능한 메모리가 작을 경우에 띄울 에러메세지. (PDA전용)

없음

-MG

KILL

메모리를 체크하기 전에 MiPlatform을 종료할지 여부 (PDA전용)

없음

-KM

CONFIRMMSGBOX

MiPlatform을 종료할 때 확인 메시지를 띄울지 여부 (PDA전용)

없음

-CM

RECHECKMEMORY

Updater후 다시 한번 메모리 체크를 할지 여부 (PDA전용)

없음

-RC

MPL2 파일의 실제예

<?xml version='1.0' encoding='euc-kr'?>
<root>
    <dataset id='WIN32U'>    
        <column id='Version'>3.3</column>
        <column id='Key'>Demo</column>
        <column id='StartXML'>http://your.site.com/site/key/StartXML.xml</column>
        <column id='UpdateURL'>http://your.site.com/site/update/update-info-file.xml</column>
        <column id='ComponentPath'>%UserApp%\Company\KeyName\Component</column>
        <column id='Launch'>true</column>
        <column id='ReInstall'>false</column>
    </dataset>
</root>