现在模型(至少我的模型是这样的),基本上这么几块:
1、模块1
(基础公式与条件计算)
2、模块2
(开多条件断)
条件1.............;
条件2.............;
条件3.............;
;
;
条件..............N
满足条件____做开多动作
3、模块3
(平多条件判断)
4、模块4
(开空条件判断)
5、模块5
(平空条件判断)
至少简单的模型都是这样运行的。问题是,在整个模型5个模块的运行过程,多数时间,仅有“模块1”,和“模块2-5”中任一模块在起作用,其它模型都处在“空转状态”。浪费了大量的CPU资源。
本来,只要简单地在每一个模块前加一个 “IF”,用HOLDING来判断就行了。
If holding = o then
Beging
u 开多条件判断
u 开空条件断
End
If holding > o then
Beging
u 平多条件判断
End
If holding <o then
Beging
u 平空条件判断
End
这样就行了。但是由于 IF 用法条件的限制(如,在IF内不能用 LLV,HHV,REF)等搞得难以实现。
我到是理解,IF用法限制的意义,但是能不能针对上述问题,专门做一个“IF_模块控制”函数
IF_模块控制 then
Begin
End
这个“IF_模块控制” 只管这一件事,不受用法限制,或许是一个解决问题的办法。
以上想法请考虑。
<!--[if gte mso 9]>现在的if是有这样的限制,所以在if外面就把hhv之类的给定义好
比如
if aa then hh:=hhv(x,xx);
改成
a:=hhv(x,xx);
if aa then hh:=a;