|
本帖最后由 zorsite 于 2018-5-18 13:17 编辑
$ ]- v% G% d& f. `7 C; E% G$ ?' n# ^" A
7 _% r7 c. e$ Z9 e- X如图所示:
5 H: {/ Y# Y7 o* ^使用Text实体显示处理器加工时间时,想要同时获取临时实体的类型值。以下是Text Display代码:! j3 b* ^! N4 V n$ k/ C
- /**显示处理器加工时间*/6 L1 K) w& h/ G' j+ Z4 p, x6 i
- treenode current = ownerobject(c);1 e* H. G4 x, ~7 u. H
- treenode textnode = param(1);! |; P) C* T/ _8 _, M. M
& J n- j; [! p/ ?. S' n- string starttext = "Object Stat: ";
! A6 r' {5 v$ z# ~ F2 ^+ r - treenode involved = node("Processor",model());
7 P6 |+ J( p/ q C8 b- a9 E - string statstr = "";- b( w# _! z0 O2 w( n
0 H& c$ a+ v! T$ \) U# b9 t: h- if (content(involved)>0) //如果处理器上有临时实体
/ a) {. R( x4 z: Z/ J - { L& X& ]# x) q; L* d9 Y. E
- treenode item = first(involved);
6 G4 Z, \3 m# T - if (getstatenum(involved) == STATE_PROCESSING || getitemstate(item) != FRSTATE_INQUEUE)$ V8 O6 u, [: ]1 k, Q2 B
- {//如果处理器处于加工状态
j/ A" I5 C0 P. M# L - statstr = numtostring(getitemvar(item, ITEMVAR_PROCESSTIME), 0, 2);! _6 k1 n$ |9 u
- pt("01-");pd(getitemtype(item));pr;//获取当前正在被加工的临时实体的类型,并输出到Output Console/ I$ i8 q$ Z; ]1 t& L
- } 3 j% G/ F1 H, x9 k
- }9 M, Y/ g3 {4 n
- pt("02-");pd(getitemtype(item));pr;//获取当前正在被加工的临时实体的类型,并输出到Output Console; V& V/ s* F5 M
- setnodestr(textnode, concat(starttext, statstr));
复制代码 2 a$ J. s+ V# s. i
& b/ ?+ B; u1 b8 K R3 ^理论上来讲,如果处理器上有item正在被加工,则不管是在if模块内部,还是外部获取item type,都应该是一样的结果。
: u7 C' i2 k: F& }9 v. S但Output Console观察到的结果却显示:只有在if模块内部才能正确获取到item type,写在if代码块外部的语句无效。0 ]7 ^+ C1 Z6 c! `/ z. f
1 {( s% F/ h6 u l* a4 A+ s% c( o0 ~* u) V6 R; {, N3 j* P% x- [- o: J' V
; G N$ K2 U1 N: G @! ^
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|