vfp程序在编译时出现“超出允许的 DO 嵌套层次或表达式”错误

笔者在对项目进行编译时遇到了“超出允许的 DO 嵌套层次或表达式”的错误,编译无法进行下去。

刚开始以为是哪里的代码真有do循环嵌套太多的问题,但全面检索全部代码均未发现异常。重新回想编译前后的经过,更觉得蹊跷,前一次编译明明是顺利完成的,最新这一次编译仅仅是作了很小的改动,需要再编译,为什么就因嵌套太多编译不下去了呢?经反复分析对照,认为各模块的代码方面没有多少变化,应排除自身代码问题。那会不会是什么地方引入了第三方代码,导致编译时自动包含进来了呢?想到这里,猛然想起项目中有个模块是用到了VFP封装的GDI+类,文件名是_GDIplus.vcx,我把该类文件从原位置(在C:\Program Files\Microsoft Visual FoxPro 9\Ffc文件夹下)复制到了项目文件夹下,以便一起发布,同时也避免损坏原始文件。查看项目管理器中的“类”页,果然看到_GDIplus.vcx被自动包含进来了。

于是试着从项目管理器中移去该文件(是移去,不是删除),再进行编译,果真不再出现“超出允许的 DO 嵌套层次或表达式”的错误,但却报出另一个错误:“_GDIplus.vcx不是一个目标文件”,编译还是进行不下去。经查看该文件的属性等相关信息,发现其修改时间是刚才进行编译时的时间,说明该文件已被改动或损坏。重新复制其原始文件到项目文件夹中,替换同名文件,终于可顺利进行编译。

经此一教训,后来在每次编译前我都先检查一次项目管理器中的“类”页有无包含了_GDIplus这个类,有的话先移去,再编译,这样就没问题了。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值