Professional Documents
Culture Documents
Bng cch to tng thnh phn ca ng dng, bn c th kim tra chc nng ca mi thnh phn khi to
n. Sau khi to tt c cc thnh phn chc nng trong project, bn c th xy dng mt ng dng v
hp cc thnh phn thc hin c trong project, nh cc forms, reports, menus v cc chng trnh
vo mt file n m bn c th phn phi n vi cc file d liu ng dng cho cc ngi dng.
Dng lnh BUILD APP: BUILD APP APPFileName FROM ProjectName [RECOMPILE]
Build mt file thi hnh c (.exe)
Trong Project Manager, chn Build, trong hp thoi Build Options, chn Build Executable.
-hocDng lnh BUILD EXE: BUILD EXE EXEFileName FROM ProjectName [RECOMPILE]
Bn cng c th to mt Automation server, n to ra mt DLL c th c gi t cc chng trnh
windows khc.
Cch bin dch mt Automation server
Trong Project Manager, chn Build, trong hp thoi Build Options, chn Build OLE DLL.
-hayDng lnh BUILD DLL: BUILD DLL DLLFileName FROM ProjectName [RECOMPILE]
To cc Automation Servers
Mt Automation server l mt ng dng thnh phn COM (Component Object Model) a ra chc nng
c th c dng v dng li bi cc ng dng khc qua Automation. V d, dng VFP, bn c th to
mt Automation server hin th cc form c th dng li (ngoi trin trnh file .exe), hay ng gi mt
chng trnh phc tp thnh mt thnh phn n gin m cc ngi lp trnh khc c th dng. Ngoi
ra, bn c th to mt hay nhiu lp qun l cc qui tc tc nghip. Mt ng dng client dng i
tng business rule s truyn cc tham s trong li gi method, v Automation server c th thi hnh kh
nhiu vic, ly hay lu d liu t nhiu ngun v thc hin cc tnh ton phc tp, trc khi tr v cu
tr li.
V d ca Automation servers c ci t trong Visual FoxPro lu th mc: \Samples\Servers.
1. To Automation Server
Tt c cc th m bn cn to mt Automation server in Visual FoxPro l mt project cha cc class
c nh ngha l OLEPUBLIC. Bn c th c nhiu lp OLEPUBLIC trong project v chng c th
c nh ngha trong cc file chng trnh hay cc th vin lp (.vcx).
V d, nh ngha lp sau y trong mt file chng trnh to mt lp cng cng OLE:
DEFINE CLASS person AS CUSTOM OLEPUBLIC
FirstName = SPACE(30)
LastName = SPACE(45)
PROCEDURE GetName
RETURN THIS.FirstName + " " + THIS.LastName
ENDPROC
ENDDEFINE
Khi ang nh ngha mt class trong Class Designer, chn OLE Public trong hp thoi Class Info ch
nh lp l OLEPUBLIC.
2. Bin dch Automation Server
Trong Visual FoxPro, bn c th to mt out-of-process hay mt in-process Automation server. Mt thnh
phn out-of-process l mt file .exe chy trong tin trnh ca ring n. S lin lc gia mt ng dng
client v mt out-of-process server gi l lin lc tin trnh cho (cross-process). Mt thnh phn inprocess l mt th vin lin kt ng (dynamic-link library -DLL) n chy trong cng khng gian a ch
ca tin trnh nh l client gi n.
C cc tin li ng vi mi loi. Mt in-process server th nhanh hn bi v khng c s lin lc tin trnh
no bn trong vt qua. Mt khc, mt out-of-process server c th c pht trin t xa m mt inprocess server th khng th. Ngoi ra, bi v in-process server v client dng chung mt khng gian a
ch tin trnh, cc li nghim trng trong .dll s kt thc khi c li out-of-process .exe s kt thc server.
Ch : Bi v in-process .dll v out-of-process .exe Automation servers c invoked qua s khi to
lp, project ca bn khng cn ch nh mt file chnh. Trong Visual FoxPro bn hin c th xy dng mt
in-process .dll hay mt out-of-process .exe Automation server khng ch nh file chnh u tin trong
Project Manager.
Khi bn to mt ng dng thi hnh c vicc lp OLE Public, bn khng mt cc kh nng .exe . You
Bn c th chy file thi hnh c, cung cp cho ngi dng mt giao din, v tt c chc nng binh
thng bn s vo trong mt ng dng application. Bn tng tnh m rng cho ng dng.
Ch : Nu c nhiu ngi dng ang truy cp Automation server, c th gy ra ng . Nu bn
cung cp truy cp Automation cng nh chc nng giao din ngi dng vo mt giao din ng vi
chc nng, cung cp thm mt extra layer of consistency
oTest = CREATEOBJECT("foxole.person")
cName = oTest.GetName()
Tng t, code c th chy trong Microsoft Excel hay Visual Basic:
Set oTest = CreateObject("foxole.person")
cName$ = oTest.GetName()
Nm gi cc ngoi l (Exceptions)
Khi mt Automation server Visual FoxPro sinh ra mt ngoi l, Automation server nh i tng COM
ErrorInfo (qua IErrorInfo) v hy b method hin hnh. Automation client c th gii phng Visual FoxPro
Automation server hay nu client c truy cp vo i tng COM ErrorInfo, nm gi ngoi l da trn
thng tin .
Hm COMRETURNERROR( ) nm gi cc li xut hin trn mt Automation server. Bn c th dng
COMRETURNERROR( ) trong method Error, ph bin cu trc ngoi l COM vi thng tin m
Automation clients c th dng quyt nh ngun ca cc li Automation server.
Hin v tr v cc li t Automation Servers
Ch tng tc vi cc i tng c cung cp bi mt Automation server (thnh phn COM) l qua cc
method v cc thuc tnh ca cc lp c trnh by. Khi mt ng dng client gi mt method ca mt
i tng v mt li xut hin trong Automation server, method hoc tr v mt gi tr li hay a ra mt
li trong ng dng client.
ng dng client quyt nh rng cnh bo ngi dng hay theo ui vi mt ng dn thc hin khc.
Automation server t n khng bao gi tng tc vi ngi dng. iu ny cho php v tr ca
Automation server tr nn trong sut vi ng dng client. Automation server c th l cc b, chy trn
my tnh ca ngi dng, hay bn c th dng tin ch Remote Automation ca Visual FoxPro chy
n trn server mng.