|
|
我写的一个程序想实现在IObuffer中的MU按时刻表exit,若需要exit的时候IObuffer中没有MU,那一旦IObuffer中有MU就立即exit。IObuffer的名字是zhuZhan,程序如下:
- H0 x* R1 H- Lis - m9 L" A( v+ t; s1 u
do
, d& X( ?' o. w9 y' i waituntil EventController.simTime = Schedule[now_depart_num];* ?0 L \6 v% P8 h" s& `8 @# e
if zhuZhan.empty = false
# \7 ?1 k# v2 P then
5 y! S9 Q) [4 L6 m# f" u+ E [ zhuZhan[1].move();
+ k/ V" ^# ^# Q/ P" x/ W1 |, | now_depart_num = now_depart_num + 1;
9 m( `) j* I2 B5 p# W else) N! ]. x6 ~/ h6 \ e
waituntil zhuZhan.empty = false;
2 ~( l& ~0 |* n6 v; A0 l zhuZhan[1].move();3 e2 A2 J x) U
now_depart_num = now_depart_num + 1;. ^+ V$ u, ]! v% j
end;
/ N1 O/ l( N; J7 w8 B* B: [end;
7 E9 L$ F3 S" k% x* a7 S* i
, T v- O- U* R0 A9 X但是一直说有错误,提示信息是:access to tables is not allowed within a waituntil statement.
. e: }! W0 v5 N% o, D8 C4 Z+ n5 a若是增加一个局部变量,如下:
9 @' q! {+ @ nis 6 T }& O# s, L
depart_time : time;7 ~) r7 O! N8 G7 y' v6 B
do
9 T0 }7 Q, z1 r, o# H. x) x depart_time := schedule[now_depart_num];4 [3 W) J4 @1 B0 ?+ j9 o
waituntil EventController.simTime = depart_time; " b& r ?. h# X4 i: w# S y
。。。3 D' ]. u* N2 n5 n5 ^! O7 K
又会出现syntax error near line 5 at <;>!3 q0 R) p, l& f# G5 v. @
5 W! S' H: H; g8 u
各位大侠帮帮忙,或者教我怎么改程序的错误,或者教教我用别的方法实现我的目的,谢谢了! |
|