系统交易论坛 - 开拓者期货自动交易平台's Archiver

欲速不达 发表于 2010-6-4 07:45

fileappend()使用超过9次不能编译

fileappend()输出文件在一个交易指令代码中如果超过9处地方使用,有时超过8次,在编译时就会出现:“最终目标文件编译错误”的提示,使得文件无法编译。

nabaobao80 发表于 2010-6-4 08:43

偷偷告诉你,Commentary才是王道

lh948 发表于 2010-6-4 09:49

编译系统没有对fileappend的使用做出限制。
这是编译器的问题,一般重启电脑或者软件可以解决。

欲速不达 发表于 2010-6-7 21:03

重启N次都没用

cym138 发表于 2010-6-7 22:33

一般是公式太长,我以前发过有公的贴子。

efrog 发表于 2010-6-7 23:26

是编译器问题,编译器在编译FileAppeng语句时可能出错。
我的程序也很长,而且这句语句在程序其他位置也用过,只有在这个位置使用时,发生“最终目标文件编译错误!”
把该语句注册掉后就能通过编译了。跟机器重启没有关系!
请TB开发人员分析一下:FileAppend(MyLogFile,"空单平仓操作:"+Text(MyPosition)+" "+Text(TmpPrice)+" "+TimeToString(Time));
跟FileAppend语句的数量好像也没有关系,我用Fileappend语句远远超过9句。

efrog 发表于 2010-6-7 23:29

编译器版本实在是太旧了,强力呼吁与时俱进!
//------------------------------------------------------------------------
// 编译版本        GS2004.06.12

efrog 发表于 2010-6-7 23:46

编译出错好像确实与FileAppend的语句数量有关,太多的FileAppend语句编译时会出错。
分析:
1)当编译通不过时,我把该FileAppend语句注释掉编译就能通过。但其后的程序段段中还有FileAppend语句(这些语句没有问题)。
2)通过编译时,再在程序段的任何位置加一句简单的Fileappend语句,就会导致编译错误。
3)我把其他的几句FileAppend语句注释掉,把原引起编译错的那句FileAppend释放,编译就能通过了。
因此,我认为编译错误与FileAppend语句的数量有关,该数量的大小与机器的配置环境有关。

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.