넥사크로플랫폼 14 / 개발자...

Download 넥사크로플랫폼 14 / 개발자 가이드docs.tobesoft.com/developer_guide_nexacro_14_ko.pdf · 5.4 기타변경 및제약사항 5.4.1 ... (Protocol)클래스코드 11. 확장모듈

If you can't read please download the document

Upload: phamdien

Post on 03-May-2018

550 views

Category:

Documents


194 download

TRANSCRIPT

  • 14 /

    14.0.1.1501.2

  • | ()

    | 2017/09/11

    | (06083) 617 2-5

    | 02-2140-7700

    | www.tobesoft.com

    | support.tobesoft.co.kr

    | 1588-7895 ( 10 5)

    .

    .

    .

    , , , ,

    .

    , , ,

    , .

    .

    .

  • iii

    14.0.1.500.3 2016-09-20 .

    14.0.1.900.1 2017-01-05 5.4.4 , .

    14.0.1.900.2 2017-03-29 3.1.3 Global Variable File

    .

    14.0.1.900.4 2017-04-07 2.3 .

    14.0.1.1501.1 2017-07-07 2.3 .

  • iv

    I.

    1.

    1.1 UI/UX

    1.1.1 BUX: Business User eXperience

    1.2 14

    1.2.1

    1.2.2

    2.

    2.1

    2.2

    2.2.1

    2.2.2

    2.2.3

    2.2.4

    2.3

    II.

    3.

    3.1

    3.1.1 ADL File

    3.1.2 Type Definition File

    3.1.3 Global Variable File

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

  • | v

    3.1.4 /

    3.1.5 FDL

    3.2

    3.2.1 bootstrap

    3.2.2

    3.2.3

    3.3

    3.3.1

    SDI (Single Document Interface)

    MDI (Multi Document Interface)

    3.3.2 Form

    3.4 Data

    3.4.1 X-API

    4. XML

    4.1 ADL XML Format

    4.2 FDL XML Format

    4.3 Type Definition XML Format

    4.4 Global Variable XML Format

    5.

    5.1 (Scope)

    5.1.1 this

    5.1.2 Global

    5.1.3 Expr

    5.1.4 lookup

    5.2

    5.2.1

    5.2.2

    5.3 Setter

    5.3.1 set

    5.3.2

    5.4

    5.4.1 nexacro

    5.4.2

    5.4.3

    5.4.4 ,

    6. Frame Tree

    6.1

    6.1.1 box

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

  • vi | 14 /

    6.1.2

    6.1.3

    6.1.4

    6.1.5 Syntax

    6.2 Form

    6.2.1

    6.2.2 Script

    6.2.3 component / invisible object / bind Script

    6.2.4 container component Script

    6.2.5 form container component Script

    6.2.6 parent Script

    6.2.7 container component element

    6.3 Application

    6.3.1

    6.3.2 Script

    6.3.3 application form script

    6.3.4 form application script

    7. (CSS)

    7.1 /

    7.1.1

    7.1.2

    7.1.3 /

    7.1.4

    7.1.5

    CSS (Selector) Depth 4

    (Type Selector) Depth

    (Class Selector)

    7.2

    7.2.1

    7.2.2

    7.2.3

    7.2.4 cssclass

    7.3

    7.3.1

    7.3.2

    7.3.3

    7.3.4 Deploy Theme

    8. Position

    8.1

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

  • | vii

    8.2

    8.3

    8.3.1

    8.3.2 / Dot Grid

    8.3.3

    8.3.4

    8.4 Position

    9. MLM(Multi Layout Manager)

    9.1

    9.1.1

    9.1.2

    9.2

    9.3 InitValue

    9.4

    9.5 XML /

    9.5.1 XADL

    9.5.2 XFDL

    III.

    10.

    10.1

    10.1.1 (Module)

    10.1.2 (Protocol)

    10.1.3

    10.1.4

    10.2 PluginElement

    10.2.1 (Protocol)

    11.

    11.1

    11.2

    11.2.1

    11.2.2

    11.3

    11.3.1 Entry Funcs

    11.3.2 Initialize

    11.3.3 EntryPoint

    11.3.4 Shutdown

    11.4 API

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

  • viii | 14 /

    11.4.1 nexacro._addExtensionModule

    11.4.2 nexacro._clearExtensionModule

    12.

    12.1

    12.1.1 (Module)

    12.1.2

    12.1.3

    12.2

    12.2.1

    12.2.2

    13. DeviceAPI

    13.1

    13.1.1 iOS

    libHelloPlugin.a

    13.1.2

    jar

    Jar

    13.2

    13.3

    13.3.1

    13.3.2

    HelloTest.xfdl

    onhello

    13.4

    14. (Widget)

    14.1

    14.1.1 Layered

    14.1.2

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

  • | ix

    14.2

    14.2.1 child frame

    14.2.2

    14.2.3

    14.2.4

    14.2.5 deviceAPI

    14.3

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

  • x

    .

    .

    .

    , .

    .

    .

    .

    .

  • | xi

    .

    , , , , Position, MLM

    .

    , , .

    , .

    .

    , , .

    , .

    .

    .

  • I.

  • 1.

    , , ,

    . UI/UX .

    UI/UX , (TCO, Total Cost of Ownershi

    p) (ROI, Return On Investment) ,

    .

    , ,

    .

    1.1 UI/UX

    X RIA(Rich Internet Application), REA(Rich Enterprise Application)

    .

    C/S(Client Server) , ,

    UI .

    X

    . 2002

    RIA . X

    RIA ,

    .

    RIA REA . REA

    RIA .

    .

    UX(User eXperience) UI/UX

  • 3 | 14 /

    (VIEW) .

    REA BUX(Business User eXperience : ) .

    BUX , UI

    .

    1.1.1 BUX: Business User eXperience

    BUX 3 .

    (Unified Platform).

    ,

    OSMU(One Source Multi Use) .

    (Unified Development Process).

    (In House) SAP UI

    ,

    .

    (Unified Data Frame).

    , OLTP(Online Transaction Processing) OLAP(Onlin

    e Analysis Processing) . UI/UX

    .

    UI/UX .

    . ,

    , , UI/UX BUX

    .

  • | 4

    1.2 14

    14 BUX

    .

    , , .

    14 (WYSIWYG) RTE(Real Time Ent

    erprise) HTML5,

    , .

    14 UI HTML5,

    . HTML5

    , ,

    . .

    1.2.1

    4GL

    . (WYSIWYG)

    .

    ECMA, CSS, XML, DOM

    .

    .

    PC

    .

    /

    .

    .

    ,

    , .

    Grid .

  • 5 | 14 /

    .

    .

    ( )

    Real Time Enterprise(RTE)

    . ,

    .

    .

    1.2.2

    UI TCO ROI

    SAP UI /

    UI

    UI / ,

    ERP, CRM, PLM, SCM

    /

    / , ,

    Local DBMS Local File

    PC ,

    BYOD(Bring Your Own Device)

    ,

    , EIS

    HTML5

  • 2.

    (Unified Framework)

    .

    .

    2.1

    .

    ,

    .

    (Runner) .

    .

    . .

  • 7 | 14 /

    (Unified Framework)

    .

    (XML, CSV ),

    .

    UI

    (UI Components)

    UI Dataset . UI

    .

    - UI : Button, Calendar, Checkbox, Grid

    - : EditBase, FormBase, FrameBase, ScrollBar

    - : Dataset

    API

    HTML5

    .

    (Element) .

    C HTML5 .

    .

    .

    Device API (Extension DLL) .

  • | 8

    .

    Device API

    (Camera...)

    .

    .

    - HTML5

    .

    Local Database .

    SQLite .

    - Indexed Database(http://www.w3.org/TR/IndexedDB/)

    HTML5 .

    XML, CSV, SSV , HTML5

    .

    - HT

    ML5 .

    2.2

    4 .

    .

    2.2.1

    . ,

    .

    XML , .

    MLM(Multi Layout Manager) .

    .

    .

    ()

    nexacro platform Project *.xprj

    TypeDefinition

    ADL ()

    nexacro platform *.xadl

    http://www.w3.org/TR/IndexedDB/

  • 9 | 14 /

    Application Definition TypeDefinition

    (ScreenInfo)

    nexacro platform

    Form Definition

    *.xfdl

    TypeDefinition default_typedef.xml

    GlobalVariable globalvars.xml

    Theme *.xtheme (, , )

    ()

    .

    .

  • | 10

    2.2.2

    (WYSIWYG) .

    .

    .

    . iOS Xc

    ode

    .

  • 11 | 14 /

    2.2.3

    (Unified Framework)

    .

    HTML5 2 .

    . API . HTM

    L5 .

    .

    (Runner) .

    .

    . iOS UIWeb

    View . , UIW

    ebView .

  • | 12

    2.2.4

    .

    .

    .

    (Application Server) . X-AP

    I . , X-PUSH

    .

    HTTP .

    .

    . (Administr

    ator Guide) .

    X-PUSH .

    .

    .

  • 13 | 14 /

    2.3

    Runtime

    Windows Android iOS

    CPU Intel Pentium 4 1.4GHz ARM Cortex-A8

    600 MHz

    ARM Cortex-A8

    600 MHz

    Intel Core i3-330M 2.13GHz ARM Cortex-A8

    1GHz

    ARM Cortex-A8

    1GHz

    - HVGA HVGA

    - HVGA HVGA

    1GB 256M 256M

    4GB DDR3 512M 512M

    HDD(ROM) 8GB 4M 4M

    30GB - 5400rpm 10M 10M

    Windows XP SP3

    Windows 10 V1703 (10.0.15063.413)

    Android 2.3

    Android 7.0

    iOS 4

    iOS 10.1

    .

    , .

    Android Smart Phone

    Samsung Electronics

    - Galaxy S3 (Android 4.1.2)

    - Galaxy S4 (Android 4.2.2)

    - Galaxy Note 8.0 (Android 4.1.2)

    - Galaxy Note 10.1 (Android 4.1.1)

    LG Electronics

    - Optimus G2 (Andriod 4.2.2)

    - Optimus Vu2 (Andriod 4.0.4)

    SHARP

    - Aquos Phone (Andriod 4.0.4)

    Android Tablet

    Samsung Electronics

    - Galaxy Tab 10.1 (Android 3.2)

    Fujitsu Mobile

    - Arrows Tab Wi-Fi FAR70A (Android 3.2)

  • | 14

    iOS

    iPhone5 (iOS 6.0.1)

    iPhone5s (iOS 7.1)

    iPad2 (iOS 7.1.1)

    iPad4 (iOS 7.1.1)

    iPad mini (iOS 6.0.1, 7.1)

  • 15 | 14 /

    HTML5

    Google Chrome 10.0.648.127 22.0.1229.79

    Firefox 8.0.1 14.0.1

    Internet Explorer 8.0 10.0.9200.16521 11.0

    Edge 25.10586.63.0 25.10586.63.0

    Opera 11.0 12

    Safari 4 6.0.2

    .

    Android

    Android

    iOS

    Android Android 2.3 Android 6.0 Android 7.0

    Android Android Chrome (Android

    4.0)

    Android Chrome (Android

    4.4)

    Android Chrome

    iOS iOS 4 iOS 6.0.1 iOS 10.1

  • II.

  • 3.

    XML

    .

    .

    .

    , .

    .

    3.1

    .

    , .

    .

    A.xprj

    A.xadl A.xadl.js Build > Generate Application

    default_typedef.xml A.xadl.js loadTypedefition

    globalvars.xml A.xadl.js on_loadGlobalVariables

    Form_A.xfdl ./Base/Form_A.xfdl.js Build > Generate File

    default.xtheme ./_theme_/default/theme.css.js

    HTML A.xadl.js

    .

    .

  • | 18

    3.1.1 ADL File

    ADL Application Definition Language , Application .

    ADL .

    Object

    (link)

    - (Dataset, Grid)

    .

    - Type Definition , ADL url .

    Theme

    (link)

    - .

    - Theme CSS .

    - Theme , ADL url .

    CSS

    (link)

    - CSS .

    - Theme CSS CSS .

    - CSS , ADL url .

    Global Variable

    (link)

    - .

    - variant, Dataset Object Image .

    - Global Variable , ADL url .

    Global Script - Function .

    - Event Function .

    ADL .

    ADL .

    .

    1 . ADL

    2 Type Definition .

  • 19 | 14 /

    3 Global Variable .

    4 ADL .

    5 . ChildFrame .

    6 Screen .

    7 CSS .

    8 .

    9 Form .

    Project Explorer , .

    Root ADL .

    ADL .

    1 ADL , Edit Source ADL .

    2 ADL , Edit Script ADL Global Script .

    ADL .

  • | 20

    3.1.2 Type Definition File

    Type Definition .

    .

    .

    .

    Type Definition .

    Type Definition .

    1 .

    - .

    - js json .

    .

    2 .

    - .

    - .

    3 .

  • 21 | 14 /

    - .

    4 ( ) .

    3.1.3 Global Variable File

    Global Variable .

    Variant , Dataset Object Image .

    Global Variable .

    Dataset - Dataset element .

    Variable - Variant Type .

    Image - .

    Global Variable Dataset .

    Project > GlobalVariable > Insert GlobalVariables Item > Dataset

    Global Variable .

    Project > GlobalVariable > Edit Source

    Global Variable .

  • | 22

    // Variable

    var test = application.all["var_sample"];

    var test = application.var_sample;

    // Dataset

    var objDs = application.all["dsSample"];

    objDs.setColumn(1,"cust_zip","078543");

    application.dsSample.setColumn(1,"cust_zip","078543");

    application all .

    all setVariable .

    application.aaa = "TEST";

    trace(application.aaa); // TEST

    trace(application.all["aaa"]); // undefined

    // setVariable

    application.setVariable("aaa", "TEST");

    trace(application.aaa); // TEST

    trace(application.all["aaa"]); // TEST

    3.1.4 /

    UI .

    , , , , , .

    . .

    UI .

    3.1.5 FDL

    FDL Form . UI

    .

    FDL ADL .

    FDL .

  • 23 | 14 /

    - Visible Object .

    - .

    - Dataset Invisible Object Property Event .

    Script - Form Event Function .

    - Event Function Function .

    Style - Form Style . Style ADL Style

    .

    BindItem - Form, , Invisible Object Dataset BindItem Object .

    3.2

    .

    3.2.1 bootstrap

    .

    .

    HTML5 Runtime

    1 index.html start.json

    start_android.json

    start_ios.json

    2 get bootstrap info

    3 update engine

    4 update resource (data)

    5 load framework files

    6 load component modules

    7 load application

    .

    (booting) .

    https://en.wikipedia.org/wiki/Bootstrapping

    .

    https://en.wikipedia.org/wiki/Bootstrapping

  • | 24

    3.2.2

    .

    1. ADL

    2. ADL

    3. TypeDefinition (parsing)

    4.

    5.

    6.

    7. Application

    8.

    9. Application

    10. Mainframe

    11. MainFrame Frame

    12. Form

    13. Application, MainFrame, Frame

    14. : Application.onloadtypedefinition

    15. GlobalVariables

    16. : Application.onloadingglobalvariables

    17. : MainFrame.createComponent

    18. : MainFrame.on_created

    19. : Application.onload

    20. : Form.onload

    include .

    .

    onloadtypedefinition GlobalVariables undefined

    .

    this.application_onloadtypedefinition = function(obj:Application, e:nexacro.LoadEventIn

    fo)

    {

    trace(application.all['Variable0']); //undefined

    }

  • 25 | 14 /

    3.2.3

    'Form ' 'Form.onload '

    .

    1. Form

    2. Form

    3.

    4. Form

    5. Form Style

    6. Form

    7. , , (BindItem)

    8.

    9.

    10. , : Object.createComponent

    11. : Form.oninit

    12. : Form.on_created

    13. , : Object.on_created

    14. , transaction

    15. : Form.onload

    Form Object, Component Z-Order .

    div, tab url Form

    .

    3.3

    UI

    . .

  • | 26

    3.3.1

    . MainFrame Chil

    dFrame . Form .

    Form

    .

    MainFrame, ChildFrame FrameSet, VFrameSet,

    HFrameSet, TileFrameSet .

    Frame

    Root Frame MainFrame - . , Root Frame .

    - Node Frame ChildFrame .

    - ChildFrame .

    Terminal

    Frame

    ChildFrame - .

    - .

    Node Frame FrameSet - .

    - 2

    .

    - Node Frame ChildFrame .

    VFrameSet - .

    - separatesize .

    - Node Frame ChildFrame .

    HFrameSet - .

    - separatesize .

    - Node Frame ChildFrame .

    TileFrameSet - .

    - separatetype, separatecount ,

    .

    - Node Frame ChildFrame .

    SDI (Single Document Interface)

    Default

    .

  • 27 | 14 /

    MDI (Multi Document Interface)

    , , ,

    . MDI Default HFrame,

    VFrame .

    MainFrame Node Frame [Insert Frame]

    MainFrame Node Frame [Add]

    .

    3.3.2 Form

    Form UI . Form

    .

    Form Visible , Invisible Logic 3 .

    Visible visible Object( ) .

    Invisible Invisible Object .

  • | 28

    Logic Script Invisible Object .

    3.4 Data

    .

    .

    3.4.1 X-API

    X-API . X-API

    Data Service

    .

    X-API Java . X-API

    .

  • XML

    4.

    Form ,

    .

    XML Format . XML .

    4.1 ADL XML Format

  • XML | 30

    4.2 FDL XML Format

  • 31 | 14 /

    4.3 Type Definition XML Format

    4.4 Global Variable XML Format

  • 5.

    HTML5

    .

    .

    HTML5 ,

    .

    .

    .

    5.1 (Scope)

    .

    .

    .

    5.1.1 this

    ADL this . ,

    .

    .

    this.formvalue = 4;

    . ,

  • 33 | 14 /

    .

    this.formvalue = 4;

    this.test = function()

    {

    this.formvalue = 3;

    this.parent.value = 3;

    this.parent.parent.value = 3;

    }

    trace alert . alert() this.alre

    t() .

    this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)

    {

    alert(e.button);

    this.alert(e.button);

    }

    .

    this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)

    {

    obj.set_text("button");

    var a = 3;

    trace(a); // 3

    }

    .

    this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)

    {

    ...

    }

    eval this .

  • | 34

    eval("this.formfunc()");

    , Global

    .

    function Button00_onclick(obj:Button, e:nexacro.ClickEventInfo)

    {

    ...

    }

    5.1.2 Global

    Global .

    Global . var

    Global .

    globalvar = 2;

    var globalvar2 = 3;

    Global . var

    .

    this.test = function()

    {

    trace(globalvar); //2

    trace(globalvar2); //3

    value = 4;

    var localvar = 5;

    }

    this.test = function()

    {

    trace(value); // 4

    trace(localvar); // ReferenceError: localvar is not defined

    }

  • 35 | 14 /

    Form include .

    var .

    includecode.xjs generate includecode.xjs.js

    (generate ).

    includecode.xjs

    bbb = "bbb";

    var ccc = "ccc";

    includecode.xjs.js

    (function()

    {

    return function(path)

    {

    var obj;

    // User Script

    this.registerScript(path, function() {

    bbb = "bbb";

    var ccc = "ccc";

    });

    this.loadIncludeScript(path);

    obj = null;

    };

    }

    )();

    . test() this.test()

    . test() Global test .

    this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)

    {

    test();

    this.test();

    }

    Global .

  • | 36

    Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)

    {

    ...

    }

    function Button00_onclick(obj:Button, e:nexacro.ClickEventInfo)

    {

    ...

    }

    Alert(), Confirm(), Trace() Global .

    this .

    dialog(), open(), exit(), transaction()

    .

    //application

    application.open("");

    application.exit("");

    application.transaction("");

    //Form

    this.close("");

    this.go("");

    //ADL

    this.open("");

    this.exit("");

    this.transaction("");

    Global

    .

  • 37 | 14 /

    5.1.3 Expr

    expr Dataset

    . Dataset

    .

    Dataset expr this .

    Dataset.set_filterstr("Column00=='test'");

    Dataset.filter("Column00=='test'");

    Grid, Dataset, Cell .

    Grid: comp

    dataset: dataset

    Cell: this

    form comp.parent dataset.parent

    .

    comp.parent.func() this

    . expr this cell .

    Expr Text displaytext

  • | 38

    .

    this.Button00.set_text("text");

    this.Button00.set_expr("1+1");

    trace(this.Button00.text); // "text"

    trace(this.Button00.expr); // "1+1"

    trace(this.Button00.displaytext); // "2"

    5.1.4 lookup

    lookup .

    id .

    lookup .

    Form.lookup( strid );

    Frame.lookup( strid );

    Application.lookup( strid );

    EventSyncObject.addEventHandlerLookup( eventid, funcid, target );

    .

    // this objectid

    var obj = this.lookup("objectid");

    // this fn_onclick

    this.lookup("fn_onclick")();

    // this fn_onclick

    btn00.addEventHandlerLookup( "onclick", "fn_onclick", this );

  • 39 | 14 /

    5.2

    ,

    .

    5.2.1

    , .

    addHandler, setHandler, removeHandler 3 ,

    1. addEventHandler( eventid, funcobj, target )

    2. addEventHandlerLookup( eventid, funcstr, target )

    3. setEventHandler( eventid, funcobj, target )

    4. setEventHandlerLookup( eventid, functstr, target )

    5. removeEventHandler( eventid, funcobj, target )

    6. removeEventHandlerLookup( eventid, funcstr, target )

    .

    this.btn00.setEventHandler("onclick", this.fn_onclick, this);

    this.dataset00.addEventHandlerLookup("onrowposchange", "fn_onchange", this);

    addEventHandlerLookup, setEventHandlerLookup, removeEventHandlerLookup

    .

    btn00.onclick.addHandler(button00_onclick) .

    .

    this

    .

    this.Button00.addEventHandler("onclick", this.Button00_onclick, this);

  • | 40

    5.2.2

    .

    .

    this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)

    {

    trace(obj.text);

    }

    .

    .

    this.Button00_onclick = function(obj, e)

    {

    trace(obj.text);

    }

    .

    .

  • 41 | 14 /

    5.3 Setter

    ECMAScript 5 Setter/Getter . IE8

    set .

    5.3.1 set

    Button text .

    this.Button00.set_text("text");

    trace(this.Button00.text);

    .

    this.Button00.text = "text";

    .

    this.Button00.myprop = "333";

    this.Button00.mytext = "text";

    set . set

    . .

    this.Button00.style.set_color('aqua');

    trace(this.Button00.style.color); // 'aqua'

    set null .

    , CSS .

  • | 42

    Button

    {

    background : red;

    }

    X()

    .

    this.ActiveX00.setProperty("prop1", 3 );

    var v = this.ActiveX00.getProperty("prop1");

    this.ActiveX00.callMethod("method1", arg1, arg2 );

    var v = this.ActiveX00.callMethod("method2");

  • 43 | 14 /

    5.3.2

    GetMethod

    . System curx, cury, screenwidth, screenheight 4

    .

    System.getCursorX();

    System.getCursorY();

    System.getScreenWidth();

    System.getScreenHeight();

    . Calendar spin

    .

    this.Calendar.spindownbutton

    this.Calendar.spinupbutton

    Calendar spindownbutton (Control Property)

    [object ButtonControl] .

  • | 44

    5.4

    5.4.1 nexacro

    ECMAScript

    . nexacro .

    Math 2 floor, ceil, round

    . nexacro .

    //Math.floor( v, digit );

    nexacro.floor( v, digit );

    //Math.ceil( v, digit );

    nexacro.ceil( v, digit );

    //Math.round( v, digit );

    nexacro.round( v, digit );

    , .

    //new Image();

    new nexacro.Image();

    TypeDefinition classname nexacro.Button

    . Button .

    this.button00 = new Button();

    or

    this.button00 = new nexacro.Button();

    .

    Component.class Component.cssclass

    Export.export() Export.exportData()

    Buffer.delete() Buffer.remove()

    VirtualFile.delete() VirtualFile.remove()

  • 45 | 14 /

    5.4.2

    .

    . != .

    switch

    switch case "2" case 2

    .

    /g

    /g replace /g

    .

    5.4.3

    , ChildName . text

    id text . .

  • | 46

    (_)

    .

    .

    . _is

    _loading .

    this._is_loading = true;

    this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)

    {

    trace(this._is_loading);

    }

    (_)

    .

    .

    createComponent .

    this.createComponent = function()

    {

    trace('createComponent ');

    }

  • Frame Tree

    6.

    Form .

    6.1

    Frame .

    6.1.1 box

    collection Item .

    6.1.2

    1:1 . Child .

  • Frame Tree | 48

    1:N . (Crow's foot) Child .

    6.1.3

    .

    Parents Child .

    Child Parents .

    .

    parent child 1:N .

    parents.id child .

    parents.child[index] child .

    child.parent parent .

    6.1.4

    element component property, method, event component element .

    6.1.5 Syntax

    '[', ']' index 'id' .

    , this.all[0] this.all['btn0'] component .

  • 49 | 14 /

    6.2 Form

    6.2.1

    Form

    container component

  • Frame Tree | 50

    6.2.2 Script

    dtset1, btn0, btn1, cmb0, div0, div1, bind1 .

    Dataset

    Bind .

    form level id . , btn0 div0_btn0 div2_btn Level

    , id .

  • 51 | 14 /

    6.2.3 component / invisible object / bind Script

    this.classname == "frm0"

    this.name == "frm0"

    // btn0

    this.all["btn0"].name == "btn0"

    this.all[1].name == "btn0"

    this.btn0.name == "btn0"

    this.components[0].name == "btn0"

    this.components["btn0"].name == "btn0"

    // dtset1

    this.all["dtset1"].name == "dtset1"

    this.all[0].name == "dtset1"

    this.dtset1.name == "dtset1"

    this.objects[0].name == "dtset1"

    this.objects["dtset1"].name == "dtset1"

    // component / invisible object / bind

    this.all.length == 7

    this.components.length == 5 //btn0, btn1, comb0, div0, div1

    this.binds.length == 1

  • Frame Tree | 52

    6.2.4 container component Script

    form container component invisible object / bind .

    // div0 div0_btn0

    this.div0.div0_btn0.name== "div0_btn0"

    this.div0.all[0].name == "div0_btn0"

    this.components[3].components[0].name == "div0_btn0"

    // div2 div2_btn0

    this.div0.div2.div2_btn0.name == "div2_btn0"

    this.all["div0"].all["div2"].all["div2_btn0"].name == "div2_btn0"

    this.components["div0"].components["div2"].components["div2_btn0"].name == "div2_btn0"

    6.2.5 form container component Script

    // (frm1 script ) frm1 btn0

    this.name == "div1"

    this.btn0.name == "btn0"

    this.all["btn0"].name == "btn0"

    // (frm0 script ) frm1 dtset1

    this.name == "frm0"

    this.div1.btn0.name == "btn0" // "frm1" "div1" .

    6.2.6 parent Script

    this.div1.dtset2.parent.parent.classname == "frm0"

    this.div1.dtset2.parent.name == "div1" // frm1 div1 .

    this.div1.dtset2.parent.classname == undefined // frm1 div1

    classname .

    this.div1.dtset2.parent.name == "div1"

  • 53 | 14 /

    6.2.7 container component element

    form container component form components, invisible object, bind ( element)

    .

    form container component invisible object, bind component

    .

    container component invisible object, bind element .

    container component form .

    form script this , form element container component elem

    ent .

    container component form this.component_name , form eleme

    nts .

  • Frame Tree | 54

    6.3 Application

    6.3.1

    form component / bind / invisible object .getOwnerFrame() .getOwnerForm()

    .

    6.3.2 Script

  • 55 | 14 /

    6.3.3 application form script

    // frm0 (ChildFrame )

    application.mainframe.frame.form.name =="frm0"

    application.mframe0.frame.form.name == "frm0"

    application.mframe0.chdframe0.form.name == "frm0"

    application.all[0].all[0].form.name == "frm0"

    application.all["mframe0"].all["chdframe0"].form.name == "frm0"

    this.mainframe.frame.form.name == "frm0"

    6.3.4 form application script

    // frm0 application (ChildFrame )

    this.parent.name == "chdframe0"

    this.parent.parent.name == "mframe0"

    this.getOwnerFrame().getOwnerFrame().name == "mframe0"

    this.getOwnerFrame().getOwnerFrame().parent.mainframe.name == "mframe0"

  • (CSS)

    7.

    (CSS) .

    , Form, Frame, TitleBar, StatusBar, ScrollBar

    .

    7.1 /

    UI .

    , , , , , , .

    7.1.1

    .

    , .

    Button

    {

    color : "red";

    }

    Static

    {

    color : "blue";

    }

  • 57 | 14 /

    (Selector) . CSS

    .

    .

    Type Selector, Class Selector, ID Selector, Child Selector

    Grouping, Pseudo-Classes

    (Type Selector) : Button .

    Syntax Name (Element)

    Button {color : green;}

    Button color green .

    (Class Selector) : .

    Syntax .(Period)

    .BlueButton {color : blue;}

    BlueButton blue .

    .

    Button.BlueButton {color : blue;}

  • (CSS) | 58

    ID (ID Selector) : Button00 ID .

    Syntax #

    Button#Button00 {color : yellow;}

    Button Button00 ID Button color yellow .

    (Child Selector) : .

    Syntax >

    Div>Button { color : blue; }

    Div Button color blue .

    . Div Butt

    on child . ID

    .

    Form>Button (O)

    Form>Div>Button (X)

    Form>#div00>#button00 (O)

    (Pseudo-classes) : .

    .

    UI

    enabled(default), disabled, focused, mouseover, pushed, selected, readonly

    root, nth-child(), nth-last-child(), first-child, last-child, only-child, empty

    Syntax :

    Button:focused {color : black;}

    Button focus Button color black .

    (Grouping) : (declarations) .

    Syntax ,(Comma)

    Button, Combo, Calendar {font : Dotum,9;}

    Button, Combo, Calendar font Dotum 9 .

  • 59 | 14 /

    7.1.2

    .

    1. .

    2. .

    .

    default, black, gray, blue 4 Theme .

    Theme, Style Editor

    .

    , .

    , . #combolist

    Combo .

    .

  • (CSS) | 60

    7.1.3 /

    1. ADL

    2. ADL

    3. FDL

    4. FDL

    1 > 2 > 3 > 4 . ,

    4 .

  • 61 | 14 /

    7.1.4

    Style Form , Global Project(ADL) Theme

    .

    Style , .

    .

    Style .

    (Visible Object)

    Button, Calendar, CheckBox, Combo, Div, Edit, Grid, GroupBox, ImageViewer

    ListBox, MaskEdit, Menu, Progressbar, Radio, Spin, Static, Tab, TextArea

    Frame Form, MainFrame, ChildFrame, FrameSet, HFrameSet, VFrameSet, TileFrameSet

    TitleBarControl, StatusBarControl

    ScrollBar

    7.1.5

    CSS

    .

    .

    CSS (Selector) Depth 4

    CSS Depth 4 .

    Form>#id>#id>#id>#id ------ (O)

    Form>#id>#id>#id>#id>#id -- (X)

    (Type Selector) Depth

    Depth . CSS

    .

  • (CSS) | 62

    Form>Div>Button -------- (X)

    Form>#div00>#button00 -- (O)

    Div>#button00 ---------- (O)

    EditControl ------------ (O)

    CSS Depth

    . CSS

    .

    (Class Selector)

    .

    Button.set_cssclass("TestClass"); ------------- (O)

    Button.set_cssclass("TestClass,TestClass2"); -- (X)

    .

    "TestClass,TestClass2"

    .

  • 63 | 14 /

    7.2

    .

    , .

    7.2.1

    ADL Form

    .

    1: Form .

    New Form Form Form StyleForm .

  • (CSS) | 64

    2: Form .

    StyleForm Insert Style FormStyle.css

    . Form .

  • 65 | 14 /

    (File > New > File > Style Sheet) CSS Form 'Insert to Form'

    Form .

    3: ADL .

    ADL Insert ADL Item ADLStyle.css .

  • (CSS) | 66

    ADL Refresh .

    Refresh .

    7.2.2

    Theme, ADL, Form .

    .

    / , .

    .

    .

    1: .

    ADLStyle.css Button (Type Selector, Pseudo Selector, Class Selector)

    . Type Selector Pseudo Selector(mouseover, focused) .

  • 67 | 14 /

  • (CSS) | 68

    Class Selector .

    .

    Button

    {

    ...

    }

    Button:focused

    {

    ...

    }

    Button:mouseover

    {

    ...

    }

    .Blue

    {

  • 69 | 14 /

    }

    2: .

    Button (Type Selector, Pseudo Selector, Class Selector) .

    .

    .

    Button

    {

    background: lightskyblue;

    border: 1px solid red;

    color: yellow;

    font: Dotum,9,bold ;

    }

    Button:focused

    {

    background: lightskyblue;

    border: 1px solid yellow;

  • (CSS) | 70

    color: black;

    font: Dotum,9,underline;

    }

    Button:mouseover

    {

    background: lightskyblue;

    border: 1px solid black;

    color: red;

    font: Dotum,9;

    }

    .Blue

    {

    background: lime;

    border: 1px solid blue;

    color: blue;

    font:Dotum,10,bold;

    }

  • 71 | 14 /

    7.2.3

    Form Button ADL Form .

    1: Form .

    New Form Form StyleForm (" " Form

    .)

    2: Button .

    StyleForm Button ADL .

  • (CSS) | 72

    3: Form Button Pseudo Selector .

    ADL Pseudo Selector(mouseover, focused) Form QuickView

    .

  • 73 | 14 /

    4: Form Form , ..

    Form Pseudo Selector focused ADL

    QuickView .

    Button:focused

    {

    background: lightskyblue;

    border: 4px solid green;

    color: black;

    font: Dotum,9,underline;

    }

  • (CSS) | 74

    7.2.4 cssclass

    Form Style Class

    .

    1: ADLStyle Class , ..

    ADLStyle Class Selector(Blue) .

    .Blue

    {

    background: lime;

    border: 1px solid blue;

    color: blue;

    font:Dotum,10,bold;

    }

    2: Form Button cssclass Style .

    Form cssclass ADLStyle Class Blue , .

  • 75 | 14 /

    7.3

    .

    , .

    7.3.1

    Insert Theme(Insert ADL Item) .

    ,

    .

    .

    1: .

    (File > New > File > XTheme) example .

    default .

    2: .

    ADL Insert ADL Item .

  • (CSS) | 76

    7.3.2

    .

    , , , / .

    1: Theme Treeview .

    example.xtheme Theme Treeview (theme.css)

    , Style Style .

  • 77 | 14 /

    2: , , // .

    Theme Treeview .

    New Folder

    New CSS

    Insert

    Delete Treeview

  • (CSS) | 78

    7.3.3

    default Theme

    .

    Combo .

    1: default Theme Combo .

    StyleForm Combo .

  • 79 | 14 /

    2: example Theme .

    example Theme Set Active Theme , S

    tyleForm .

  • (CSS) | 80

    7.3.4 Deploy Theme

    . Deploy Theme xtheme

    . .

    xtheme Deploy Theme Extern File .

    Extern File

    Extern File .

    extern file .

    Extern Item .

    default.xtheme Theme . ,

    .

    .

    .

    . Set Extern

    Unset Extern .

  • 81 | 14 /

    Deploy Theme . Deploy Theme Exter

    n File .

    Deploy Theme Extern File theme

    ) theme C:\a.xtheme

    C:\a.xtheme

    Extern File theme/images/ Image()

    ) theme C:\theme\a.xtheme

    Image b.png

    C:\a\images\b.png

    Deploy Theme

    Extern Item Deploy Theme Extern Item

    Deploy Theme .

  • Position

    8.

    left, top, right, bottom width, height

    . (px) (%) .

    , , DotGrid( ),

    .

    8.1

    left, right, width, top, bottom, height 4

    .

  • 83 | 14 /

  • Position | 84

    8.2

    left, right, width, top, bottom, height 4

    width, height 2 .

    Position (px) (%) .

    .

    .

    setter .

    .

    this.Button.set_left(10);

    this.Button.set_left("10px");

    this.Button.set_left("30%");

  • 85 | 14 /

    8.3

    8.3.1

    .

    .

    left="20" top="20" width="120" height="50"

    left="20" top="90" right="260" bottom="160"

    width="120" height="50" right="260" bottom="90"

  • Position | 86

    8.3.2 / Dot Grid

    .

    Show Pixel Ruler / Show Percent Ruler Dot Grid

    .

  • 87 | 14 /

  • Position | 88

    8.3.3

    .

    .

  • 89 | 14 /

    8.3.4

    Position .

    .

    .

    left, top, right, bottom, width, height .

  • Position | 90

    8.4 Position

    , left, top, right, bottom

    .

    , left, top, right, bottom Default

    .

  • 91 | 14 /

    right, bottom

    . left, top rigth, bottom

    .

  • MLM(Multi Layout Manager)

    9.

    .

    .

    .

    9.1

    9.1.1

    iPhone, iPad, GalaxyTab .

    File > New > Project ,

    .

  • 93 | 14 /

    New Project Wizard Step1

    .

    ,

    .

    New Project Wizard Step2

    TypeDefinition .

  • MLM(Multi Layout Manager) | 94

    New Project Wizard Step3

    . iPhone, iPad, GalaxyTab

    , . Finish

    iPhone, iPad, GalaxyTab .

    Screen

    name Screen ( )

    type

    - 'desktop', 'phone', 'tablet' .

    screenwidth Screen ( : 0~65536)

    sizeorientation screenwidth .

    - 'landscape', 'portrait' .

    - 'landscape' (type 'desktop' 'tablet' )

    - 'portrait' (type 'phone' )

    autozoom , .

    - true, false . ( false)

    - type 'desktop' autozoom .

    zoommin autozoom .

    - , -1

    zoommax autozoom .

    - , -1

  • 95 | 14 /

    systemos Screen OS

    - 'windows', 'android', 'ios' .

    - OS .

    systemlocale Screen Locale

    - 'af_ZA' "zh_TW" .

    - Locale .

    formlayoutwidth Screen Form Layout .

    formlayoutheight Screen Form Layout .

    Screen

  • MLM(Multi Layout Manager) | 96

    9.1.2

    New Project Wizard Project Explorer > ADL

    ADL ScreenInfo

    .

  • 97 | 14 /

    9.2

    iPhone, iPad, GalaxyTab 3 . File > New > It

    em > Form FDL ,

    .

    New Form Wizard Step1

    . ,

    .

  • MLM(Multi Layout Manager) | 98

    New Form Wizard Step2

    Default . .

    New Form Wizard Step3

    Position .

  • 99 | 14 /

    New Form Wizard Step4

    . , ,

    .

    Screen Template OK

    Screen New Form Wizard .

  • MLM(Multi Layout Manager) | 100

    .

  • 101 | 14 /

    9.3 InitValue

    MLM .

    .

    . InitValue

    .

    Init Info . InitValue

    . xfdl .

    InitValue . InitValue

    InitValue .

    InitValue .

    (Default Value)

    .

  • MLM(Multi Layout Manager) | 102

    9.4

    Quick View .

    Launch Project .

    ADL ADL Theme

    .

  • 103 | 14 /

    9.5 XML /

    9.5.1 XADL

    ScreenInfo XADL .

    ...

    9.5.2 XFDL

    XFDL .

  • MLM(Multi Layout Manager) | 104

    Default Form .

    .

    .

  • 105 | 14 /

    InitValue . InitValue InitValue

    InitValue .

    XML . default

    .

    .

  • MLM(Multi Layout Manager) | 106

  • III.

  • 10.

    . HTTP

    .

    .

    .

    .

    10.1

    , , default_typedef.xml

    TypeDefinition [Edit TypeDefinition] .

    10.1.1 (Module)

    default_typedef.xml [Edit TypeDefinition > Modules]

    .

    Base Lib Path [component]

    .

    nexacro14lib .

    Base Lib Path [Tools >Options > Environment > Build > Base Lib Path]

    .

  • 109 | 14 /

  • | 110

    JSON . 'scripts' [Base Lib Path

    > component] .

    {

    "name": "Xecure",

    "version": "14.0.0.0",

    "description": "nexacro platform XecureAdp Protocol Library",

    "license": "",

    "scripts": [

    "Xecure/Xecure.js",

    ]

    }

    //@ sourceURL=Xecure.json

    10.1.2 (Protocol)

    default_typedef.xml [Edit TypeDefinition >Objects]

    .

  • 111 | 14 /

    .

    .

    1. nexacro.ProtocolAdp .

    ProtocolAdptor .

    .

    var _pXecureAdp = nexacro._createPrototype(nexacro.ProtocolAdp);

    nexacro.XecureAdp.prototype = _pXecureAdp;

    2. initialize .

    _pXecureAdp.initialize = function ()

    {

    trace("_pXecureAdp.initialize");

    };

    3. finalize .

    .

    _pXecureAdp.finalize = function ()

    {

    trace("_pXecureAdp.finalize");

    };

  • | 112

    4. . "1.0" . getHTTPHeader()

    "1.1" . version()

    "1.1" getHTTPHeader() .

    _pXecureHttp.version = function ()

    {

    return "1.1";

    };

    5. HTTP . _httpheaders HTTP .

    _pXecureHttp.getHTTPHeader = function ()

    {

    return this._httpheaders;

    };

    6. encrypt .

    .

    _pXecureAdp.encrypt= function(url, data)

    {

    trace("encrypt url=" + url + ";data=" + data);

    return data;

    };

    encrypt (Request Method) POST .

    transaction load GlobalVariables POST

    .

    7. decrypt .

    .

    _pXecureAdp.decrypt = function (url, data)

    {

    trace("decrypt url=" + url + ";data=" + data);

    return data;

    };

    . .

  • 113 | 14 /

    if (!nexacro.XecureAdp)

    {

    nexacro.XecureAdp = function ()

    {

    };

    var _pXecureAdp = nexacro._createPrototype(nexacro.ProtocolAdp);

    nexacro.XecureAdp.prototype = _pXecureAdp;

    _pXecureAdp._type = "nexacroXecureAdp";

    _pXecureAdp._type_name = "XecureAdp";

    _pXecureHttp._httpheaders = [];

    _pXecureHttp._httpheaders.push({ id: "X-Requested-With", value: "XMLHttpRequest"});

    _pXecureHttp._httpheaders.push({ id: "Accept", value: "application/json, text/json, */*"});

    _pXecureHttp._httpheaders.push({ id: "Content-Type", value: "application/json"});

    _pXecureHttp.version = function ()

    {

    return "1.1";

    };

    _pXecureHttp.getHTTPHeader = function ()

    {

    return this._httpheaders;

    };

    _pXecureAdp.encrypt= function(url, data)

    {

    trace("encrypt url=" + url + ";data=" + data);

    return data;

    };

    _pXecureAdp.decrypt = function (url, data)

    {

    trace("decrypt url=" + url + ";data=" + data);

    return data;

    };

    _pXecureAdp.initialize = function ()

  • | 114

    {

    trace("_pXecureAdp.initialize");

    };

    _pXecureAdp.finalize = function ()

    {

    trace("_pXecureAdp.finalize");

    };

    delete _pXecureAdp;

    }

    10.1.3

    default_typedef.xml [Edit TypeDefinition > Services]

    .

    url

    .

    this.Div00.set_url('Base:test.xfdl');

  • 115 | 14 /

    10.1.4

    .

    application.transaction("MyService01", "xecuredata::test.js", "dsIn=dsIn:A","dsOut=dsIn","a=b

    ","fnCallback");

    .

    1.

    Application.transaction(), Dataset.load(), Div.set_url();

    2.

    initialize

    3.

    encrypt

    4.

    .

    5.

    6.

    decrypt

    7.

    .

    10.2 PluginElement

    . PluginElement .

    .

    PluginElement .

    (XecureWeb) .

    .

    () .

    http://www.softforum.co.kr/02product/pro_sub01_02.asp

    http://www.softforum.co.kr/02product/pro_sub01_02.asp

  • | 116

    .

    .

    10.2.1 (Protocol)

    PluginElement

    .

    1. initialize .

    nexacro.PluginElement .

    Parent_element hidden .

    _pXecureAdp.initialize = function ()

    {

    trace("_pXecureAdp.initialize");

    var parent_elem = null;

    this.xecure = new nexacro.PluginElement();

    this.xecure.setElementClassId("{7E9FDB80-5316-11D4-B02C-00C04F0CD404}");

    this.xecure.create();

    };

    2. finalize .

    .

    _pXecureAdp.finalize = function ()

    {

    this.xecure.destroy();

    delete this.xecure;

    };

    3. encrypt .

    .

    _pXecureAdp.encrypt= function(url, data)

    {

    return data;

  • 117 | 14 /

    };

    4. decrypt .

    .

    _pXecureAdp.decrypt = function (url, data)

    {

    return data;

    };

    5. getUsingProtocol .

    http.

    _pXecureAdp.getUsingProtocol = function (url)

    {

    return "http";

    };

    6. getCommunicationHeaders .

    _pXecureAdp.getCommunicationHeaders = function (url)

    {

    var headers = [];

    headers.push({id:"test", value:"test1"});

    return headers;

    };

  • 11.

    (Extension DLL) (DLL) .

    .

    11.1

    .

    1. 2005

    2005 v80 .

    2. V8

    https://code.google.com/p/v8/

    11.2

    11.2.1

    1. [ ] [ > Visual C++ > Win32] [Win32 ] .

    [] .

    https://code.google.com/p/v8/

  • 119 | 14 /

    2. [] .

    3. [ ] DLL [] .

  • | 120

    11.2.2

    1. [ ] V8 Javascript Engine v8.h .

    2. [ 'v8.lib' .

    3. [ ] [ ] v8 Lib .

    11.3

    ExtensionInitialize . ExtensionInitialize DL

    L attach function .

    11.3.1 Entry Funcs

    v8::Object v8::Function .

    typedef bool (*pFnAttachObject)( v8::Handle*);

    11.3.2 Initialize

    .

    nexacro._addExtensionModule .

    nexacro._clearExtensionModule .

    .

    extern "C" __declspec(dllexport) bool ExtensionInitialize()

    11.3.3 EntryPoint

    EntryPoint .

  • 121 | 14 /

    EXTENSIONENTRYFUNCS .

    nexacro._addExtensionModule

    v8::Function .

    extern "C" __declspec(dllexport) bool ExtensionEntryPoint(EXTENSIONENTRYFUNCS*)

    11.3.4 Shutdown

    nexacro._clearExtensionModule .

    .

    extern "C" __declspec(dllexport) void ExtensionShutdown()

    11.4 API

    API .

    11.4.1 nexacro._addExtensionModule

    API .

    nexacro._addExtensionModule = function(object, modulepath)

    Argument

    object ,

    modulepath .

    Path Alias .

    var ext = {};

    nexacro._addExtensionModule(ext, "c:/extension.dll");

    nexacro._addExtensionModule(ext, "%COMPONENT%\extension.dll");

  • | 122

    11.4.2 nexacro._clearExtensionModule

    API .

    nexacro._clearExtensionModule = function(modulepath)

    Argument

    modulepath .

    Path Alias .

    .

    nexacro._clearExtensionModule

    (memory leak) .

  • 12.

    .

    .

    .

    .

    .

    .

    12.1

    . 10.

    .

    , 3.

    1. (*.json)

    2. (*.info)

    3. (*.js)

    12.1.1 (Module)

    default_typedef.xml [Edit TypeDefinition > Modules]

    .

  • | 124

    Base Lib Path [component]

    .

    nexacro14lib .

    Base Lib Path [Tools >Options > Environment > Build > Base Lib Path]

    .

  • 125 | 14 /

    JSON . 'scripts', 'objInfo' [Base

    Lib Path > component] .

    {

    "name": "ExtComp",

    "version": "14.0.0.0",

    "description": "nexacro platform Common Component Library",

    "license": "",

    "scripts": [

    "ExtComp/ExtCombo.js"

    ],

    "objInfo": [

    "ExtComp/ExtCombo.info",

    "ExtComp/ExtEnum.info"

    ]

    }

    //@ sourceURL=ExtComp.json

    10. , , , Enum 'objInfo'

    .

    12.1.2

    nexacro.ExtCombo 'ExtCombo.info', 'ExtEnum.info' 2 ObjInfo

    . 'ExtCombo.info' 'ExtEnum.info' Enum

    . Enum info

  • | 126

    .

    ObjInfo

    scripts

    .

    ExtCombo.info . .

    userprop

    itemopacity

    Pseudo

    pushed

    focused

    tooltiptext

    testFunc

    ontest

    .

  • 127 | 14 /

    contents="true"

    formats="false"

    contentseditor="auto"

    defaultwidth="300"

    defaultheight="200"

    requirement="Runtime,HTML5"

    description=""/>

  • | 128

    unused="false"

    objectinfo=""

    enuminfo="enum_ext_test"

    unitinfo=""

    requirement="Runtime,HTML5"

    description="this is desc"

    />

  • 129 | 14 /

    objectinfo="nexacro.Style_opacity"

    enuminfo=""

    unitinfo=""

    requirement="Runtime,HTML5"

    description="this is desc"

    />

  • | 130

    />

  • 131 | 14 /

    Pseudo , .

    userprop enuminfo 'enum_ext_test' En

    um . 'ExtEnum.info' .

  • | 132

    Enum .

    12.1.3

    ,

    .

    ExtCombo.js .

    .

    if (!nexacro.ExtCombo)

    {

    // ==============================================================================

    // nexacro.ExtCombo

    // ==============================================================================

    nexacro.ExtCombo = function(id, position, left, top, width, height, right, bottom, parent)

    {

    nexacro.Combo.call(this, id, position, left, top, width, height, right, bottom, parent

    );

    this.userprop = "abc";

    this.itemopacity ="";

    this.onclick = null;

    };

  • 133 | 14 /

    var _pExtCombo = nexacro._createPrototype(nexacro.Combo);

    nexacro.ExtCombo.prototype = _pExtCombo;

    _pExtCombo._type = "nexacroExtCombo";

    _pExtCombo._type_name = "ExtCombo";

    _pExtCombo.set_userprpo = function (v)

    {

    this.userprop = v;

    }

    _pExtCombo.set_itemopacity = function (v)

    {

    this.itemopacity = v;

    }

    _pExtCombo.testFunc = function (a,b)

    {

    return a+b;

    }

    delete _pExtCombo;

    }

    12.2

    12.2.1

    default_typedef.xml [Edit TypeDefinition >Objects]

    .

    id classname

    . info Object id

    .

    ExtCombo.info Object id 'nexacro.ExtCombo'

    classname 'nexacro.ExtCombo' .

  • | 134

  • 135 | 14 /

    12.2.2

    .

    .

  • DeviceAPI

    13.

    DeviceAPI .

    DeviceAPI (iOS/Android) .

    DeviceAPI .

    , .

    DeviceAPI

    .

    13.1

    13.1.1 iOS

    Xcode iOS . DeviceAPI

    .

    .

    OS : OSX 10.9.3

    Xcode : Version 5.1.1

    : iPad Mini (iOS 7.1)

    1. Xcode .

  • 137 | 14 /

    File > New > Project

    2. 'Cocoa Touch static Library' .

    3. Product Name(HelloPlugin) .

  • DeviceAPI | 138

    Targets 'HelloPlugin' Build Phases 3

    . .

    nexacro14.framework

    UIKit.framework

    Foundation.framework

  • 139 | 14 /

    HelloPlugin.h HelloPlugin.m .

    // HelloPlugin.h

    #import

    #import

    #import

    @interface HelloPlugin : DeviceAPI {

    NSInteger nID;

    NSString *helloMsg;

    }

    @property (nonatomic) NSInteger nID;

    @property (nonatomic, retain) NSString * helloMsg;

    - (void)hello:(NSString*)lid withDict:(NSMutableDictionary*)options;

    @end

  • DeviceAPI | 140

    64bit 19 . 64bit

    self.nID (int)self.nID .

    // HelloPlugin.m

    #import "HelloPlugin.h"

    @implementation HelloPlugin

    @synthesize nID, helloMsg;

    //hello Method

    - (void)hello:(NSString*)lid withDict:(NSMutableDictionary*)options

    {

    self.helloMsg = [options objectForKey:@"helloMsg"];

    self.nID = [lid integerValue];

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:self.helloMsg delegate:nil

    cancelButtonTitle:nil otherButtonTitles:@"OK", nil];

    [alert show];

    //Event

    NSString *callbackResult = [NSString stringWithFormat:@"runCallback(\"%d\",\"_onhello\",{'

    eventid':\"onhello\",'msg':\"%@\"});", self.nID, self.helloMsg];

  • 141 | 14 /

    //64bit build

    /*

    NSString *callbackResult = [NSString stringWithFormat:@"runCallback(\"%ld\",\"_onhello

    \",{'eventid':\"onhello\",'msg':\"%@\"});", (int)self.nID, self.helloMsg];

    */

    [self writeJavascript:callbackResult];

    }

    @end

    Xcode Products libHelloPlugin.a . Finder .a

    .

    libHelloPlugin.a

    Framework libHelloPlugin.a .

    NX14 libHelloPlugin.a .

  • DeviceAPI | 142

    iOS ' (iOS)' .

    http://docs.tobesoft.com/admin_guide_nexacro_14_ko

    .

    .

    'Code Signing' 'Code Signing Identity' .

    [ > (iOS) > Code Singing]

    http://docs.tobesoft.com/admin_guide_nexacro_14_ko

  • 143 | 14 /

    13.1.2

    . NexacroPlugin

    .

    .

    JDK(Java SE Development Kit)

    SDK

    ADT

    : G (Android 4.4.2)

    1. .

    File > New > Android Application Project

    2. Project Name 'HelloPlugin' .

  • DeviceAPI | 144

    4.4(Kitkat) SDK Minumum Required SDK 3.2(Honeycomb)

    appcompat_v7 .

    http://developer.android.com/tools/support-library/features.html

    . Minumum Required SDK 4.0(IceCreamSandwich)

    AndroidManifest.xml

    .

    3. HelloPlugin.java . .

    http://developer.android.com/tools/support-library/features.html

  • 145 | 14 /

    HelloPlugin.java . HelloPlugin params A

    ndroid Toast .

    Toasts

    http://developer.android.com/guide/topics/ui/notifiers/toasts.html

    package com.example.helloplugin;

    import org.json.JSONException;

    import org.json.JSONObject;

    import android.os.Handler;

    import android.os.Looper;

    import android.os.Message;

    import android.widget.Toast;

    import com.nexacro.Native;

    import com.nexacro.plugin.NexacroPlugin;

    import com.nexacro.plugin.NexacroPluginManager;

    import com.nexacro.util.Log;

    public class HelloPlugin extends NexacroPlugin {

    private static String LOG_TAG = "HelloPlugin";

    private static HelloPlugin helloplugin = null;

    public HelloPlugin(String objectId) {

    super(objectId);

    http://developer.android.com/guide/topics/ui/notifiers/toasts.html

  • DeviceAPI | 146

    // TODO Auto-generated constructor stub

    }

    @Override

    public void init(JSONObject paramObject) {

    // TODO Auto-generated method stub

    }

    @Override

    public void release(JSONObject paramObject) {

    // TODO Auto-generated method stub

    }

    @Override

    //hello 'helloMsg' .

    public void execute(String method, JSONObject paramObject) {

    // TODO Auto-generated method stub

    Log.w(LOG_TAG, "execute paramObject:" + paramObject.toString());

    if (method.equals("hello")) {

    String msg = "";

    try {

    JSONObject params = paramObject.getJSONObject("params");

    msg = params.getString("helloMsg"); // repeatcount

    }

    catch (JSONException e) {

    e.printStackTrace();

    }

    show(msg);

    }

    }

    //excute() Toast .

    public void show(String message) {

  • 147 | 14 /

    final String msg = message;

    new Thread(new Runnable() {

    @Override

    public void run() {

    new Handler(Looper.getMainLooper()).post(new Runnable() {

    @Override

    public void run() {

    Toast.makeText(

    NexacroPluginManager.getInstance()

    .getActivity(), msg, Toast.LENGTH_LONG)

    .show();

    }

    });

    }

    }).start();

    Native.SendDeviceEvent(getObjectId(), "_onhello", "{}");

    }

    }

    jar

    Plugin jar .

    1. HelloPlugin [Export] .

  • DeviceAPI | 148

    2. 'Export' [Java > JAR file] .

    3. 'JAR Export' HelloPlugin 'src' .

  • 149 | 14 /

    Jar

    1. xml Plugin.xml .

    name class .

  • DeviceAPI | 150

    2. libhelloplugin.jar 'libs' .

    ' ()'

    .

  • 151 | 14 /

    http://docs.tobesoft.com/admin_guide_nexacro_14_ko

    13.2

    Hello.js nexacro.Hello

    . _pHello.hello .

    .

    DeviceAPI

    //Hello.js

    if (!nexacro.Hello) {

    nexacro.Hello = function(name, obj)

    {

    this._id = nexacro.Device.makeID();

    nexacro.Device._userCreatedObj[this._id] = this;

    this.name = name || "";

    this.enableevent = true;

    this._event_list = {

    "onhello": 1

    };

    var params = '""';

    var jsonstr = '{"id":' + this._id + ', "div":"HelloPlugin","method":"constructor", "

    params":' + params + '}';

    nexacro.Device.exec(jsonstr);

    };

    var _pHello = nexacro.Hello.prototype = nexacro._createPrototype(nexacro.EventSinkObject,

    nexacro.Hello);

    _pHello._type_name = "Hello";

    _pHello.destroy = function ()

    http://docs.tobesoft.com/admin_guide_nexacro_14_ko

  • DeviceAPI | 152

    {

    var params = '""';

    var jsonstr;

    delete nexacro.Device._userCreatedObj[this._id];

    jsonstr = '{"id":' + this._id + ', "div":"HelloPlugin", "method":"destroy", "params":'

    + params + '}';

    nexacro.Device.exec(jsonstr);

    return true;

    };

    _pHello.on_created = function () { };

    //===============================================================

    // nexacro.Hello : Methods

    //===============================================================

    _pHello.hello = function(strHelloMsg)

    {

    var msg = strHelloMsg;

    var params = '{"helloMsg":"' + msg + '"}';

    var jsonstr = '{"id":' + this._id + ', "div":"HelloPlugin", "method":"hello", "params

    ":' + params + '}';

    nexacro.Device.exec(jsonstr);

    };

    //===============================================================

    // nexacro.Hello : Event

    //===============================================================

    _pHello._onhello = function(objData)

    {

    var e = new nexacro.HelloEventInfo(objData.eventid, objData.msg);

    this._fire_onhello(this, e);

    };

    _pHello._fire_onhello = function(objHello, eHelloEventInfo)

    {

    if (this.onhello && this.onhello._has_handlers)

    {

  • 153 | 14 /

    return this.onhello._fireEvent(this, eHelloEventInfo);

    }

    return true;

    };

    //===============================================================

    //nexacro.HelloEventInfo

    //===============================================================

    nexacro.HelloEventInfo = function(strEventId, strMsg) {

    this.eventid = strEventId;

    this.msg = strMsg;

    };

    var _pHelloEvnetInfo = nexacro._createPrototype(nexacro.Event, nexacro.HelloEventInfo);

    nexacro.HelloEventInfo.prototype = _pHelloEvnetInfo;

    _pHelloEvnetInfo._type_name = "HelloEventInfo";

    delete _pHelloEvnetInfo;

    delete _pHello;

    }

    DeviceAPI (Java, Objective-C )

    "constructor" "destroy" .

    /iOS DeviceAPI "constructor", "destroy"

    .

    .

    13.3

    . .

  • DeviceAPI | 154

    13.3.1

    . 4

    .

    (*.json)

    ExtDeviceAPI.json

    (*.info)

    Hello.info

    HelloEnum.info

    (*.js)

    Hello.js

    Base Lib Path 'component'

    .

    Base Lib Path 'nexacro14lib' .

    .

    Options > Environment > Base Lib Path

    12.