[ Open PowerScript Function ]
◆ 기 능
window 나 OLE object를 연다.
window들에서, Open은 window를 보여주고 속성을 만들어 주며 script에 사용할 수 있도록 조절한다
2개의 문법이 있다.
- 특별한 window date type의 instance를 열기 위해서, 문법 1을 사용 한다.
- script가 실행될 때 window의 data type을 선택하도록 응용을 허용 하기 위해서 문법2를 사용한다.
OLE objects에서, Open은 file나 storage에 OLE 2.0 control 이나 storage object 변수를 포함있는 OLE object를 load한다.
source와 target은 저장 작업을 위해서 연결되어 있다.
- file에서 OLE object를 열고 OLE 2.0 control에 load하기 위해서 문법 3을 사용한다.
- memory의 storage object에서 OLE object를 열고 OLE 2.0 control에 load하기 위해서 문법 4를 사용한다.
- OLE storage file에서 OLE object를 열고 memory의 storage object에 load 하기 위해서 문법 5를 사용한다.
- open OLE storage의 member인 OLE object를 열고 memory의 storage object에 load 하기 위해서 문법 6를 사용한다.
- memory의 OLE storage에서 stream을 열고 stream object에 load하 기 위해서 문법 7를 사용한다.
◆ 적 용
(Syntax 1 and 2) Window object
(Syntax 3 and 4) OLE 2.0 control
(Syntax 5 and 6) OLE Storage object
(Syntax 7) OLE Stream object
◆ 문 법 1
Open(windowvar {, parent}) //windowvar: open하기 위한 window 이름
◆ 반환값 1
Integer. 성공하면 1, 실패하면 -1을 리턴한다.
◆ 문 법 2
Open(windowvar, windowtype {,parent}) //windowtype: string(open할 윈 도우의 data type)
◆ 반환값 2
Integer., 성공하면 1, 실패하면 -1을 리턴한다.
◆ 문 법 3
ole2control.Open( OLEsourcefile)
◆ 반환값 3
Integer. 성공하면 0, 실패하면 아래의 음수값을 따른다.
- -1 ==> file이 발견되지 않거나 data가 부당한 형식을 가지고 있다.
- -9 ==> 기타 error
◆ 문 법 4
ole2control.Open(sourcestorage, substoragename)
◆ 반환값 4
Integer. 성공하면 0, 실패하면 아래의 음수값을 따른다.
- -2 ==> parent storage가 열려이씨지 않다.
- -9 ==> 기타 error
◆ 문 법 5
olestorage.Open(olesourcefile {, readmode {, sharemode}})
◆ 반환값 5
Integer. 성공하면 0, 실패하면 아래의 음수값을 따른다.
- -1 ==> file이 OLE 2.0 storage file이 아니다.
- -3 ==> file이 발견되지 않는다.
- -9 ==> 기타 error
◆ 문 법 6
olestorage.Open( substoragename, readmode, sharemode, sourcestorage)
◆ 반환값 6
Integer. 성공하면 1, 실패하면 아래의 음수값을 따른다.
- -2 ==> parent storage가 열리지 않았다.
- -3 ==> member가 발견되지 않는다.
- -9 ==> 기타 error
◆ 문 법 7
olestream.Open( sourcestorage, streamname{, readmode {, sharemode}})
◆ 반환값 7
Integer. 성공하면 1, 실패하면 아래의 음수값을 따른다.
- -1 ==> Stream이 발견되지 않는다.
- -2 ==> Stream이 이미 존재한다.
- -3 ==> Stream이 이미 열려있다.
- -4 ==> Storage가 열려있지 않다.
- -5 ==> 접근이 거부되었다.
- -6 ==> 틀린 이름이다.
- -9 ==> 기타 error
◆ 사용법
window의 속성들에 접근하기 전에 window를 open해야 한다. 만약 open하기 전에 window의 속성에 접근했다면, 실행 error가 발생할 것이다.
◆ 예
Open(w_employee) // w_employee window의 instance를 연다.
w_employee w_to_open // w_employee 형태 window의 instance를 연다.
Open(w_to_open)
child cw_data // child가 cw_data 형태인 window의 instance를 열고 w_employee
Open(cw_data, w_employee) // parent를 만든다.
w_emp w_el, w_e2 // code가 w_emp 형태인 2개의 window를 연다.
open(w_e1)
open(w_e2)
-------------------------------------------------------------------------------------------
[ OpenWithParm PowerScript Function ]
◆ 기 능
Open의 기능과 더불어 오픈된 윈도우에 접근할 수 있도록 하기 위하여 시스템의 Message object에 매개변수를 저장하는 기능을 한다.
◆ 적 용
Window objects
◆ 문법 1
OpenWithParm(windowvar, parameter {, parent})
* windowvar 디스플레이 하고자 하는 윈도우의 이름
Window painter에 정의된 윈도우 오브젝트나 요구된 윈도우 데이타 타입의 변수를 지정할 수 있다.
* parameter 윈도우가 오픈되었을 때 Message object에 저장하기를 원하는 매개변수 String, Numeric, PowerObject
* parent 열고있는 popup window 또는 child의 parent로 만들고자 하는 window.
◆ 반환값 1
Integer. 성공하면 1을 반환하고 실패하면 -1을 반환한다.
◆ 문법 2
OpenWithParm(windowvar, parameter, windowtype {, parent})
* windowtype 값이 열기를 원하는 윈도우의 데이타 타입인 스트링
◆ 반환값 2
Integer. 성공하면 1을 반환하고 실패하면 -1을 반환한다.
◆ 사용법
system Message object는 저장하고 있는 데이타에 대한 세가지 속성을 가진다.
parameter data type에 의존하여 OpenWithParm의 속성을 지정한다.
(Message object attribute)------(Parameter data type)
Message.DoubleParm---------- Numeric
Message.PowerObjectParm----- PowerObject
Message.StringParm------------String
◆ 예 제
OpenWithParm(w_employee, "James Newton")
w_employee w_to_open
integer age = 50
OpenWithParm(w_to_open, age)
w_to_open 형의 instance 을 오픈한다. 매개변수가 수이기 때문에 그것은 Message에 저장된다.
OpenWithParm(cw_data, "benefit_plan", w_employee)
OpenWithParm(w_to_open, e_location, s_w_name)
OpenWithParm(wc_to_open, age, c_w_name, w_emp)
----------------------------------------------------------------------------------------------
[ PostEvent PowerScript Function ]
◆ 기 능
오브젝트의 이벤트의 끝에 이벤트를 추가한다. postevent()는 단순히 clicked 이벤트 스크립트가
장래에 언젠가, 파워빌더가 할 수 있을 때 발생하는 것을 요구한다. 그리고 스크립트를 호출하는
실행은 중지하지 않고, 완성할 이벤트를 기다리지 않는다. 단지 postevent() 호출 후에 계속한다.
이벤트가 스크립트가 실행되고 계속할 것을 요구하기 때문에, 비동시성 호출로 언급된다.
◆ 적 용
application object를 제외한 모든 object
◆ 문 법
objectname.PostEvent(event,{word, long})
* objectname 연관되어 있는 이벤트를 가진 powerbuilder object나 control
* event 값이 이벤트의 이름이 되는 스트링이나 PowerBuilder 이벤트를 정의하는 TrigEvent enumerated data type의 값
* word(optional) 시스템 message object의 WordParm attribute에 저장되어 있는 long value
* long(optional) 시스템 Message object의 WordParm attribute에 저장하기를 원하는 스트링 또는 long value
◆ 반환값
Boolean. 성공하면 TRUE를 리턴하고 오브젝트에 대하여 유효한 오브젝트가 아니면 FALSE를 리턴한다.
◆ 사용법
drawing object같이 이벤트를 가지지 않는 오브젝트에 대하여 이벤트를 trigger하거나 붙일 수 없다.
또 application은 event queue를 가지지 않기 때문에 user interface를 가지지 않는 배치 에플리케이션안에 이벤트를 trigger 하거나 붙일 수 없다.
◆ 예 제
cb_OK.PostEvent(Clicked!)
Clicked 이벤트를 추가한다.
Parent.PostEvent("cb_exit_request")
사용자 정의 이벤트인 cb_exit_request를 이벤트 queue에 추가한다.
Parent.PostEvent("cb_exit_request", 455)
value 455는 Message object에 저장된다.
'프로그래머의 길 > Power Builder' 카테고리의 다른 글
Power Builder Function (7) (0) | 2008.01.03 |
---|---|
Power Builder Function (6) (0) | 2008.01.03 |
Power Builder Function (4) (0) | 2008.01.03 |
Power Builder Function (3) (0) | 2008.01.03 |
Power Builder Function (2) (0) | 2008.01.03 |