全球FlexSim系统仿真中文论坛

标题: 发生器的创建触发中依次设置临时实体类型和颜色,设置颜色,创建和初始化标签出错 [打印本页]

作者: zorsite    时间: 2012-12-3 14:05
标题: 发生器的创建触发中依次设置临时实体类型和颜色,设置颜色,创建和初始化标签出错
本帖最后由 zorsite 于 2012-12-4 08:54 编辑
! o( f7 K+ g. b  y6 w9 Y! u7 _1 Z1 r1 W
版本为Flexsim6.02中文版
; \1 B" y- p# i% v) _具体操作见GIF附件。1 I( E, k8 E7 f/ \6 r  @; K( q2 a
[attach]1003[/attach]3 P% j+ y4 `4 ?- N& M: Y3 @( Q

4 E# h9 i. X4 ^( x编译器控制台出错提示:; k0 u8 h2 H) s# X! K
Flexscript Error        MAIN:/project/model/发生器3>variables/creationtrigger        line 30        syntax error, unexpected '}', expecting end of code check for the proper number of parentheses/braces
7 y8 Q7 O) ?- j* G" r4 K7 u. eCould not finish parsing because of previous errors.6 ~3 ^) x% H; R. l8 k/ I
! h2 }6 j# y% |0 L% \  N0 `* T

& F& u( X3 _: e2 B) b5 o系统控制台出错提示:
' K! Z  U/ Z8 R" c0 ]$ T( Oexception: parse error at line number 31: syntax error, unexpected '}', expecting end of code/ v  |# M2 k( ?% m4 b6 o. L
exception: parse error at line number 31: syntax error, unexpected '}', expecting end of code8 d5 B1 l4 C4 d8 W% r- d; T& A
& ], l, y9 _5 |' r; [# _. |: L

+ E8 K7 @8 c9 I系统生成的代码:
  1. treenode item = parnode(1);
    . r9 f+ I, Q; c
  2. treenode current = ownerobject(c);5 P1 o) }) n0 N% \( G6 b1 b9 o2 C
  3. int rownumber = parval(2);  //row number of the schedule/sequence table0 N+ n  s+ m7 ^% R* _2 C: D
  4. { //************* PickOption Start *************\\
    ! W: z2 V/ H- s" j0 k2 e9 _
  5. /***popup:SetTypeAndColor*/1 P2 F# [2 R; i) S
  6. /**设置临时实体类型和颜色*/7 a  M' i( d. p! c2 Z
  7. /** \nFlowitem: *// a9 X  Q7 C$ M6 e. \
  8. treenode involved = /***tag:involved*//**/item/**/;
    $ v* g1 g" t1 O1 ?+ O
  9. /** \nItemtype: */
    5 U. ]" R) n0 r" H" y) W( D- A
  10. double newtype = /***tag:type*//**/duniform(1,3)/**/;. f2 Z4 C  Q% v  ~5 X. E
  11. /**\n\n*/
    * ^3 Z& p" P. d* i+ S% m
  12. setitemtype(involved,newtype);* h* U. Q$ G9 o. Z1 w
  13. colorarray(involved,newtype);
    4 P1 _* e5 c. E$ U1 o4 k

  14. 9 ^$ [" V: _3 k# K( f
  15. } //******* PickOption End *******\\{ //************* PickOption Start *************\\! q( N) y4 Y, e2 b' a, V0 Q
  16. /***popup:SetColor:hasitem=1*/
    * g7 \; m1 E0 Z) d$ l9 s5 \
  17. /**设置颜色*/( P0 \0 R  c: O1 b5 }7 E& W
  18. /** \n值: */  c/ O8 Z3 x: M/ T* y& l
  19. int value = /***tag:item*//**/getitemtype(item)/**/;
    # q- d" G# r1 U) Q1 q+ F- q
  20. switch(value)
    + A0 m. M  u( }9 o
  21. {
    ) w8 G1 h9 [2 T+ @
  22.         /***tagex:data*//**\nCase: */case /**/1/**/: /** Color: */ /**/colorred(item)/**/;break;- g: x- p' o+ |: F) x8 }$ _. P
  23. /**\nCase: */case /**/2/**/: /** Color: */ /**/colorblue(item)/**/;break;! z; ]/ |) Y; g$ P/ E
  24. /**\nCase: */case /**/3/**/: /** Color: */ /**/colorgreen(item)/**/;break;
    ) |4 @; z  i3 T1 j; Z9 ~) l
  25. /***/
    . w2 _7 N6 k; o# B+ i3 U  r' l
  26.         /** \n默认值: */8 Y2 m/ Y3 @. j3 |
  27.         default: /***tag:default_value*//**/colorarray(item, value)/**/;break;
    ) ], z% N# h: J0 x
  28. }3 K5 L1 G& o0 D& {6 P/ V
  29. /**\n\n*/
    , Y4 ?5 d: z* b  j
  30. } //******* PickOption End *******\\
    8 o: K( b1 R$ i2 Y0 y, l
  31. //************* PickOption Start *************\\ 9 R. g% X( [7 A. G+ o8 R2 A4 V  a9 v
  32. {# z+ G3 h7 Q% u4 P( E
  33. /***popup:CreateInitializeLabel*/% l' J! x4 }! c. R
  34. /**创建和初始化标签*/! Q6 K  Z# d  c" V0 [
  35. /** \n实体: */& ], {- D  t! Q. E
  36. treenode involved = /***tag:involved*//**/item/**/;
    ; _' n; ?! ~! M  U
  37. /** \n标签: */  `' X  P* W7 f2 f6 e
  38. string labelname = /***tag:labelname*//**/"newlabel"/**/;
    9 L( d0 n8 S; h  F- o
  39. /** \n值: */) d2 H) I: `1 B6 B5 a) Z+ Y
  40. double newvalue = /***tag:newvalue*//**/duniform(1,3)/**/;  n2 Y1 k# @& F/ y  Z' y; T
  41. /**\n\n*/& e# |( I( j: Z1 i1 Y9 I* G
  42. set(assertlabel(involved,labelname,DATATYPE_NUMBER),newvalue);
    - n1 F: a* j; _- d0 J/ E
  43. }
    ( M2 f* E7 e5 D, i
  44. //******* PickOption End *******\\$ ~# c) Q, V0 N+ L
复制代码

作者: zorsite    时间: 2012-12-3 14:25
我觉得这是flexsim的一个bug。
1 `: d' P$ Z+ L' _4 K) `" E5 J如果“设置临时实体类型和颜色”之后紧接着“设置颜色”,就会导致代码错误。
. r, p4 }9 c$ R6 a原因在于第15行:
  1. } //******* PickOption End *******\\{ //************* PickOption Start *************\\
复制代码
在这里flexsim没有正确地换行,正确的代码应该是:
  1. } //******* PickOption End *******\\4 `- r0 q6 d: J/ }* [7 O
  2. { //************* PickOption Start *************\\
复制代码

作者: domcylai    时间: 2012-12-3 14:48
确是BUG,感谢提出




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3